📖
git pullで現れるマージメッセージの正体
コミット履歴でよく見かけるこのメッセージの意味
Merge branch 'develop' of https://github.com/example-company/example-project into develop
このメッセージは「リモートのdevelopブランチをローカルのdevelopブランチにマージする」という意味です。
git操作(再現)
実際のプロジェクトでの履歴例:
- 田中さん:コミット
- 佐藤さん:コミット
- 佐藤さん:developにマージ
- 田中さん:developにマージ
- 佐藤さん:リモートのdevelopをpull ⇒
Merge branch 'develop' of https://github.com/example-company/example-project into develop
出現!
この Merge branch 'develop' of...
の正体は「pull」によるものだった!
git pullの裏側で何が起きているか
git pull
を実行すると、内部で以下の処理が自動的に実行されます:
1. フェッチ
リモートの最新情報を取得
2. ローカルブランチに、そのブランチのリモートブランチをマージ
Merge branch 'develop' of https://github.com/example-company/example-project into develop
(リモートのdevelopブランチをローカルのdevelopブランチにマージする処理が走る)
3. マージコミット作成
結果として、上記のメッセージがコミットとしてSourceTreeやGitの履歴に表示される
まとめ
- 今回の事象は、リモートブランチ(upstream)の変更を取り込んだことによる正常な動作
-
git pull
=git fetch
+git merge
の組み合わせ - 今回のマージコミットのメッセージは、結局
git marge
によるものである ⇒git pull
の中にgit marge
が含まれるから - 複数人での開発でよく見かけるごく自然な現象
自分の名前のコミット履歴を見ていると、自分が触っていないファイルの変更履歴がずらーーーっと表示されて慣れていない人は怖い思いするときありますよね。だいたいこれです。
この記事を書いてみて
いらない情報があったり、ハルシネーションが多かったり、プロンプトが下手なんだろうなと思いました。
Discussion