2つのブランチ上で、同じファイルの同じ個所を修正していると、git merge
や git pull
を実行したときにコンフリクト(修正箇所の衝突)が発生します。
コンフリクトが発生した場合は、コンフリクトの原因となっているファイルを編集して、手動でコンフリクトしている箇所を修正する必要があります。
その後、そのファイルを git add
、git commit
することによって、全体のマージが完了します。
$ git add conflicted_file
$ git commit
git commit
する前に、git log
でコミット履歴を確認すると、別のブランチで行われていたコミットはまだマージされていないように見えます。
これらのコミットは、git commit
が終了した時点で見える(辿れる)ようになります。
また、git commit
を実行する前に git status
を見ると、あたかも別のブランチでのコミットで追加されたファイルが、今回の自分の git commit
で追加されるかのようにステージングされているように見えます。
これは、実際には上記のマージ作業が終了すると、別のコミットでちゃんと追加されたように見えるようになりますので安心してください。