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
ダミーアドレスの設定
まずは基本設定を済ませる。
Settings -> Emails -> Keep my email addresses privateを ON。- その欄に記載されているダミーアドレスをメモ
その上でローカルの 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 を使うのが通常。
典型的な構成は以下:
- Jekyll サイトの初期化:
jekyll new --skip-bundle . - 使いたいテーマを選定
_config.ymlにテーマも含めてサイト設定を記載:例index.mdをルートに置いてそこから各ページへリンクを貼る- スタイルを編集したい場合はテーマのリポジトリを参照して編集。slate テーマならここ。
- サイトをデプロイ
- ユーザページならそのまま 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 側でこの設定。
- リポジトリから
Settings > Pagesに進む SourceでDeploy from a bramnchが、Branchでgh-pagesが指定されていることを確認- 画面をリロードすれば上部にリンクが記載
参考リンク
GitHub pages の構文についてはここ。
- Markdown
- Jekyll
Web ライブラリについてはここ。
その他リンク集