リスティング広告代行の専門会社|Yahoo!プロモーション広告・Google AdWords完全対応|東京・大阪・名古屋

[Git] Your branch and ‘origin/master’ have diverged となった時の対処法


リモートをフェッチした際にブランチがこうなる時がありました。

[bash]
$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 1 and 2 different commit(s) each, respectively.
#
nothing to commit (working directory clean)
[/bash]

後ほど調べてみると、分岐点となる origin/master からリモートとローカルでそれぞれ異なるコミットがある場合に、こういった状態になる様です。

この例ではローカルブランチが1コミット、リモートブランチは2コミット存在するという意味です。

とりあえず解決策としては、origin の変更をローカルにマージするだけです。

[bash]
$ git merge FETCH_HEAD
[/bash]

この時にコンフリクトが起きなければそのまま、起きたらマージして完了です。

以前、コンフリクトを解消させてもブランチが diverged のまま解消されなかったので困りました。

解決策

今回の場合は、origin/master を master にマージしてから、トピックブランチを master にマージすればこんな事は起きませんね。



業界初のリスティング広告運用総合支援ツール Lisket(リスケット)

無料メルマガ

登録はたったの5秒!一週間分のコラムを毎週月曜にメールでお届けします。

Facebookもチェック