@applejxd

雑記帳

GitHub メモ

目次

SSH を使った pull/push

SSH.md を参考に SSH 鍵を作成し GitHub に登録する。 次に .ssh/config へ github の SSH 接続について追記。

Host github
  HostName github.com
  User git  # これは固定値
  IdentityFile ~/.ssh/github

この上で次のように clone する。 @ マーク以降は .ssh/config に設定している Host 名を使う。

git clone git@github:applejxd/dotfiles.git

ダミーアドレスの設定

まずは基本設定を済ませる。

  1. Settings -> Emails -> Keep my email addresses private を ON。
  2. その欄に記載されているダミーアドレスをメモ

その上でローカルの git 設定を更新。 Global に変換するだけなら Git.md を参照。

特定のフォルダ以下のリポジトリのみ適用するなら、次を .gitconfig に記載。 ghq と組み合わせると楽。

# ~/.gitconfig
[includeIf "gitdir:~/src/github.com/"]
  path = ~/.config/git/github
[usr]
  name = My Name
  email = dummy_address@users.noreply.github.com 

更に既存リポジトリの名称・アドレスを変更するのであれば以下。

pip install git-filter-repos
# 括弧付きで宣言
echo "New Name <new@example.com> Old Name <old@example.com>" > .mailmap
git filter-repo --mailmap .mailmap
git push --force --all
git push --force --tags
rm .mailmap

GitHub Pages

Markdown のサイト化

jekyll を使うのが通常。

典型的な構成は以下:

  1. Jekyll サイトの初期化:jekyll new --skip-bundle .
  2. 使いたいテーマを選定
  3. _config.yml にテーマも含めてサイト設定を記載
  4. index.md をルートに置いてそこから各ページへリンクを貼る
  5. スタイルを編集したい場合はテーマのリポジトリを参照して編集。slate テーマならここ
  6. サイトをデプロイ
    • ユーザページならそのまま markdown のみが含まれるリポジトリを指定
    • プロジェクトページならフォルダスタイル (./docs 以下など)かブランチスタイル(gh-pages ブランチ内など)を選んでデプロイ

自動生成ドキュメントのサイト化

自動生成ドキュメントは Sphinx などで生成しておく。 Sphinx の場合は sphinx.ext.githubpages の設定を忘れずに。

デプロイスタイルはほぼブランチスタイル(gh-pages ブランチ内など)。 gh-pages は orphan ランチとして用意するため worktree を使用。 まずはローカル側で以下を準備する。

git worktree add --orphan -b gh-pages ../my_repo.worktrees/gh-pages
cp -r ./docs/sphinx/build/* ../my_repo.worktrees/gh-pages
cd ../my_repo.worktrees/gh-pages
git add ./*
git commit -m "first commit"
git push -u origin gh-pages

その後 GitHub 側でこの設定。

  1. リポジトリから Settings > Pages に進む
  2. SourceDeploy from a bramnch が、Branchgh-pages が指定されていることを確認
  3. 画面をリロードすれば上部にリンクが記載

参考リンク

GitHub pages の構文についてはここ。

Web ライブラリについてはここ。

その他リンク集