GitHubのリポジトリをForkしても,Fork元のwikiはコピーされません.Fork元(upstreamとします)のwikiをFork先(originとします)に取得する備忘録です.SSHの利用を前提とします.originのリポジトリをローカルにCloneし,デフォルトブランチで作業します.
GitHub(origin)でwikiを有効にします.メニュー右上のSettingsをクリックし,Wikisにチェックを入れます.WikiでNew pageをクリックし,タイトルをHomeにし,本文をtest(何でもよいですが,文字を入力しないと作成できません)にして,saveします.
ローカルリポジトリでoriginのwikiをcloneします.Clone this wiki locallyをクリックすると https://github.com/<user>/<repo>.wiki.git
がコピーされますが,これをSSHに書き換えてgit cloneし,<repo>ディレクトリ
に移動します.github.com
のあとは /
ではなく,:
です.
git clone git@github.com:<user>/<repo>.wiki.git
cd <repo>
Fork元のwikiをupstreamとして登録します.
git remote add upstream git@github.com:<upstream>/<repo>.wiki.git
git remote -v # 確認
upstreamをローカルに取得します.
$ git fetch upstream
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/upstream/master
upstreamのwikiのブランチ名は不明でしたが,この例ではmasterだったことが分かります.wikiは<repo>
とは独立したリポジトリで,ブランチはmasterになるようです.
ローカルをupstreamの内容にresetし,originに強制的にpushします.
git reset --hard upstream/master
git push --force origin master
GitHubのWikiは<repo>
のブランチに依存せず,<repo>
のすべてのブランチで同じものになります.すなわち,<repo>
のブランチ毎にWikiを作成することはできません.