Githubで共同開発

背景

最近、毎週会社で集まって行なっている勉強会で、なんかしらの成果を上げるべく、社内イベントを支援するアプリを作成している。
自分は個人レポジトリでの共同開発が初めての経験だったので、だだForkするだけでいいんだと思っていたいたら、
pull requestがマージされた後の最新の変更がpullしても降ってこないってなってアレ?となってしまったので、調べてみた。

知ってしまえばなんてことないことだけど、以外に気が付かないなと感じたのでメモ。

手順

step1. Forkした

まずは、同期の中の開発エースに骨組みをお願いしたので、そのレポジトリからFork
自分はviewを担当することにして、早速pull req
レビューしてもらってmergeされた

step2. mergeされた最新のレポジトリを取得

mergeした連絡を受けたので次の変更しようと早速pull...
あれ?Already-Updateってなる。
相手のurlからcloneしようとしてもread-onlyだし、、ってなってた。

そこで、相手のページにある read-only のurlを以下のコマンドで、originとは別の名前で取得。

git remote add owner url
自分は名前を owner にしちゃったけど、セオリーとか有るのかな?

これで

git pull owner master
git push origin master
ってやるといつも見るようなlocalとremoteが最新の状態を持てるようになる。
2回コマンド実行するのはちょっと不便だけど、ソーシャルコーディング出来る方が重要でしょ?
めんどくさければスクリプト書いて.gitignoreで管理しないように設定しちゃえばいいし!