pull request のおくりかた

対象となる状況

よそさまのリポジトリに pull request を送る場合 且つ、 オリジナルを clone してきて手元で変更してコミット後、github で Fork して push して pull request したい! なんてとき

今回の仮定

手順

1. オリジナルのリポジトリを手元に持ってくる

git clone git://github.com/imaz/sample.git
cd sample
git log
git status   (このへん2行は完全に無意識に行ってたわー)

2. 誤字っている部分を編集する

git checkout -b fix-typo   (修正内容にあわせて branch をきる)
vi README.md   (修正する)
git diff   (修正内容に問題がないか見る)
git add .
git log   (主に編集している人のログを確認)
git commit -m "Fix typo"   (頭が大文字のようですね!)
git diff master   ( branch での変更点が見れる)

3. github 上でオリジナルのリポジトリを Fork する

オリジナルのリポジトリの右上に Fork ボタンがあるのでぽちっとします。  
ぽちっとするとオリジナルリポジトリが自分のリポジトリとして複製されます。  

4. Fork してきたリポジトリに変更を push する

手元の git に SSHURI (書き込み可能)を教えてあげましょう。

git remote add imazun git@github.com:imazun/sample.git   (手元の config ファイルに Fork したリポジトリの情報を書き込む)
git remote
  imazun   (増えた)
  origin
git push imazun fix_typo   
                 ↑             ↑
          リモート名  リモートのブランチ名

git remote add するだけで遠隔でブランチを作って push できちゃうのすごいね!
github で Fork してきたリポジトリを確認すると変更が反映されています。

5. ねんがんの pull request する

github 上で左側からブランチを選ぶ  
pull request ボタンをおす  
diffとかcommitとか確認する  
コメント書く  
ぷるりくえすとする!

おわりに

  • Fork した後に clone とか、自分のリポジトリに pull request とかいろんなケースがあるけれど、一連の流れに慣れたら他のケースも想像つくようになりました。
  • merge と reject するのは(確か)未経験なので、これから pull request される方はぜひこちらで練習してください!!
    https://github.com/imaz/sample