リモートリポジトリ

pull

入門編で説明したとおり、pullを実行するとリモートリポジトリの履歴を取得することができます。この時のリポジトリ内のコミットがどうなるかを図で説明します。

まずは、更新されるローカルリポジトリのブランチに何の変更も行なっていなかった場合を見てみます。

ブランチに何の変更も行なっていなかった場合

この場合は、単にfast-forwardマージが行われます。図中のmasterはローカルリポジトリのmasterブランチ、origin/masterはリモートリポジトリ origin のmasterブランチを表します。

fast-forwardマージ

もし、ローカルリポジトリのmasterブランチでも履歴を進めていた場合は、両方の変更を統合する必要があります。

ローカルリポジトリのmasterブランチでも履歴を進めていた場合

そのため、pullを実行するとマージが行われます。この時、競合する変更がなければ自動的にマージコミットが作られます。しかし、競合があった場合は、それを解決してから自分でコミットする必要があります。

競合があった場合は、それを解決してから自分でコミット