LoginSignup
3
2

More than 5 years have passed since last update.

GitHub Wikiをチームで運用した話

Last updated at Posted at 2018-08-11

実現したいこと

  • 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.

手順

  1. GitHub上で本番Wikiと開発Wikiを作成する.公開リポジトリと非公開リポジトリを作成し,それぞれ Wikiのタブでcreate the first pageする.今回はユーザ名user,公開リポジトリ名project,非公開リポジトリ名project-devとする.

  2. 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

    ちなみにこちらで示されていた手順は私の環境ではうまくいかなかった.

  3. 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を追跡していることを確認
    
  4. 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以外のリモートを登録し,勉強になった.素直にそれぞれがローカルで作業する方が簡単?

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2