Github で pull request してみたい!!
こんばんは。
チンカスプログラマーとののしられる日々ですが、僕は元気です。
少しコードがかけるようになるとしてみたくなりますよね。
欲張るのは大事なことです。
そこで、恥ずかしくない pull request をするため少し調べてみました。
基本的な流れ
・Github 上で fork する
・ローカルに持ってくる
git clone repo cd repo
・作業用の branch を作り、切り替える(基本的にmasterはいじらない)
git checkout -b new_feature なにかをする。 git commit -m "add new function"
・fork した自分のリポジトリにpush
git push origin new_feature
そして、Github上から pull request。
変化に追いつく
作業中にもmasterは変化していくわけです。
・おおもとのリポジトリをリモートとして登録する。(この upstream って名前は慣習のようです。)
git remote add upstream git://hogehoge
・おおもとの変化を pull する
git checkout master git pull upstream master
・引っ張ってきた master を自分がいじってる brach にまぜる。
git checkout new_feature git rebase master
※ rebaseの際にconflict した場合は衝突した箇所をなおしてから、
git add . git rebase --continue
こんな感じですかね。
かっこよくしよう!
commit をまとめる
最新からn個前のコミットをまとめる
git rebase -i HEAD~n
するとエディタに以下のようなぶんが出てくる。
pick 0000000 commit message1 pick 0000001 commit message2 pick 0000002 commit message3
ここでは、commitをまとめたり、commit messageの編集、
まとめるcommit まとめない commit の選択、
順序の入れ替えができるみたいです。
エディタに説明でてくるのでここでははぶいちゃいます!!
pick 0000000 commit message1 fixup 0000001 commit message2 fixup 0000002 commit message3
こうすれば 0000000 のコミットにまとめられる。
最後に
こんなのが基本的なフローでしょうか...
pull request とかできるようにもっとがんばりたいですね。