実現したいこと
-
GitHub Wikiをチームで運用したい.
-
メンバーがGitHub上で編集できる開発用の非公開Wikiと直接編集できない本番用の公開Wikiを分離したい.
作成したWiki:Factorio逆引きリファレンス
GitHub Wikiの注意すべき点
-
通常のコードとは別のGitプロジェクトで管理されている.リポジトリそのものがgit@github.com:user/project.gitならば Wikiはgit@github.com:user/project.wiki.gitになる.
-
master以外のブランチはGitHub上では表示も編集もできない.ローカルにcloneすれば編集が可能.
実現方法
-
本番用の公開リポジトリと開発用の非公開リポジトリを作り,それぞれのWikiをミラーする.
-
開発用リポジトリのcollaboratorにメンバーを追加し,メンバーは同リポジトリのWikiを編集する.
-
開発Wikiから本番Wikiへの反映はローカルで行う.
-
本番Wikiを追跡する本番用ブランチと開発Wikiを追跡する開発用ブランチを作成する.
-
開発用ブランチをpull → 開発用ブランチを本番用ブランチにmerge → 本番用ブランチをpush.
-
手順
-
GitHub上で本番Wikiと開発Wikiを作成する.公開リポジトリと非公開リポジトリを作成し,それぞれ Wikiのタブでcreate the first pageする.今回はユーザ名
user
,公開リポジトリ名project
,非公開リポジトリ名project-dev
とする. -
2つのWikiをミラーする.
git clone --bare git@github.com:user/project.wiki.git cd project.wiki.git git push --mirror git@github.com:user/project-dev.wiki.git cd .. rm -rf project.wiki.git
参考:Duplicating a repository - User Documentation
ちなみにこちらで示されていた手順は私の環境ではうまくいかなかった.
-
project.wiki
をcloneする.masterブランチの追跡先はproject.wiki
のmasterブランチになっている.git clone git@github.com:user/project.wiki.git cd project.wiki.git git remote -v # project.wikiがoriginリモートとして登録されていることを確認 git branch -vv # masterブランチがorigin/masterを追跡していることを確認
-
developブランチに
project-dev.wiki
のmasterブランチを追跡させる.pwd # project.wiki.git git remote add dev git@github.com:user/project-dev.wiki.git # project-dev.wikiをdevとして登録 git remote -v # project-dev.wikiがdevリモートとして登録されていることを確認 git fetch dev --prune # devリモートのブランチ情報を取得 git checkout -b develop dev/master # dev/masterを追跡するdevelopブランチを作成 git branch -vv # developブランチがdev/masterを追跡していることを確認
最後に
初めてorigin以外のリモートを登録し,勉強になった.素直にそれぞれがローカルで作業する方が簡単?