未分類

git fetchとgit mergeで共有リポジトリの変更を取り込む方法 備忘録

アリスとボブのGit入門レッスンという書籍のp138~145の内容を実践したので、備忘録として残しておく。

まずは、bob_p86フォルダのalice_new_file.txtにおいて、’ボブがプッシュ。11時14分。’の一文を追記する。

そして、add→commit→pushにより、共有リポジトリに反映させておく。

次に、alice_projectフォルダのalice_new_file.txtにおいて、’アリスがプッシュ。11時16分。’の一文を追記する。

そして、add→commit→pushにより、共有リポジトリに反映させようとする。

しかし、アリスのローカルリポジトリが共有リポジトリとファストフォワードな関係になっていないので、ここでgitにpushを拒否される。

いったん、git fetchにより、共有リポジトリのmasterの内容をアリスのローカルリポジトリに持ってくる。

そして、alice_projectフォルダの最新のコミット(HEAD)と、共有リポジトリからfetchしてきた内容(FETCH_HEAD)とを比較し、マージを行う。

しかし、コンフリクトが発生していて、マージに失敗する。

そのため、今回は共有リポジトリの内容を優先させて、コンフリクトを解決した。

 

 

 

 

 

 

 

 

これで、アリスのローカルリポジトリの状態は、共有リポジトリの最新の状態と一致する。