Github ブランチをプッシュしてmasterにマージする前に、コンフリクトを調べてブランチ管理者の手間を減らす

 たまにマスターからブランチを切ってきてバグを修正している間にマスターが少し変更されていて、そのまま管理者がマスターにマージしようとするとコンフリクトが起こってしまいます。 ある程度マスターで起こった変更を把握している状態でブランチで作業していたのであれば、コミットしてプッシュする前に差分を確認してコンフリクトが起こらないようにしておくと優しいかもしれません。

“origin/master”から”branch”にブランチを切って作業していたとします。 まず作業ブランチでの一通りの修正をコミットしていきましょう。

(branch)$git add --all
(branch)$git commit -m "バグを修正しました"

この間に”master”に修正が入っていたとしましょう。origin/masterを更新して

(branch)$git fetch

マスターとの差分は以下のコマンドで確認できます。

(branch)$git diff origin/master..HEAD

そのままコンフリクトが起こっていれば一旦マスターでの変更を”branch”側にマージしてやってコンフリクトを確認して修正します。

(branch)$git merge origin/master

〜コンフリクト修正〜

(branch)$git add --all
(branch)$git commit -m "コンフリクト修正しました"