概要
gitでは、最初にbranchを切って、子branchで作業を始めると思います。
その際、チームでgitを使って開発していると、親branchのコードが先に進んでしまっているケースがよくあると思います。
つまり、他のbranchがmergeされて、最初にbranchを切った時とはコードが変わっているケースです。
基本、子branchでそのまま開発して実装完了後に親branchにmergeすればいいのですが、
今回は、mergeする前に現在の親branchの内容を取り込んで、子branchで開発した後にmergeしたかっったので
どうすればいいか勉強した内容のメモです。
前提
ここでは親branchをmaster、その子branchをfeatureとします。
最近SourceTreeを使い始めたので、そこでのやり方です。
方法
結論、masterをfeatureにmergeする。
featureで開発完了後、masterにmergeすることは日常でしたが、
なるほどその反対をすればいいわけですね!
- featureブランチに
checkout
する - マージをクリック
- ログからマージのタブにて、マージさせたいブランチ(master)の
commit
をクリック - OKをクリック
- 全ての変更を
commit
6. コミットメッセージが自動的に作成されるのでそのまま使用すればOK (Merge branch 'master' into feature
)
7.conflict
が発生していた場合はテキストエディタなどで解消してからcommit
最後に
最初勉強する前は、rebase
だと思っていたのですが、merge
が基本みたいですね。
たぶんrebase
でもできるんでしょうが。。。。
私はそもそもrebase
した後にハードコミットするのが怖いので、
とりあえず見にくくなってもmerge
でいいかなと思いました。
チームで開発するようになってから、
こうやって毎日四苦八苦しながら、びびりながら、gitに向き合っています・・・汗