8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

開発が進んだ親branchの内容を現在のbranchに取り込む(Source Tree)

Posted at

概要

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することは日常でしたが、
なるほどその反対をすればいいわけですね!

  1. featureブランチにcheckoutする
  2. マージをクリック
  3. ログからマージのタブにて、マージさせたいブランチ(master)のcommitをクリック
  4. OKをクリック
  5. 全ての変更をcommit
    6. コミットメッセージが自動的に作成されるのでそのまま使用すればOK (Merge branch 'master' into feature)
    7. conflictが発生していた場合はテキストエディタなどで解消してからcommit

最後に

最初勉強する前は、rebaseだと思っていたのですが、mergeが基本みたいですね。

たぶんrebaseでもできるんでしょうが。。。。

私はそもそもrebaseした後にハードコミットするのが怖いので、
とりあえず見にくくなってもmergeでいいかなと思いました。

チームで開発するようになってから、
こうやって毎日四苦八苦しながら、びびりながら、gitに向き合っています・・・汗

8
6
0

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
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?