LoginSignup
7
0

【git】リモート追跡ブランチと上流ブランチを理解したい

Last updated at Posted at 2022-08-05

目的

リモート追跡ブランチ上流ブランチをそろそろ理解したい。

基本のおさらい

gitの基本的な構成
image_1.png

git fetch: リモートブランチの内容をローカルリポジトリのリモート追跡ブランチへ反映する

git merge: ローカルリポジトリ内でリモート追跡ブランチの内容をローカルブランチへ反映する

git pull: git fetchgit mergeをまとめて行う。

git push: ローカルブランチの内容をリモートブランチとリモート追跡ブランチへ反映する。

↓過去にまとめた記事があるので、よろしければ見てください..!!

第1回目 git基礎コマンド (https://qiita.com/tatsuya_1995/items/b0747759630b6c230684)
第2回目 ブランチ・マージ・リベース・コンフリクト(https://qiita.com/tatsuya_1995/items/04148896a7f23a1f2090)
第3回目 プルリクエスト (https://qiita.com/tatsuya_1995/items/6d48b7ba8487fe38bbf8)

リモート追跡ブランチ

<ポイント>

  1. ローカルリポジトリにあって、他のリポジトリの内容を追跡しているブランチである
  2. origin/masterはリモートリポジトリoriginmasterブランチを追っているリモート追跡ブランチである

上流ブランチ

<ポイント>

  1. 引数なしでgit pullしたときに対象になるブランチである
  2. ローカルリポジトリのmasterブランチからgit pullするとorigin/masterの変更を反映する。
  3. origin/masterはローカルリポジトリのmasterの上流ブランチである。

...ここで上流ブランチを普段意識していない人は少し引っかかりませんか?
git pullしたときは、単純にリモートブランチからローカルブランチへ変更を反映しているんじゃないの?って。
正確にはリモートブランチからリモート追跡ブランチ(origin/master)へ反映された後に、そのリモート追跡ブランチからローカルブランチへ反映されている。 という流れです..!!

なので、より正確な解釈を促すのであればgit pulllの動きを表す図はこちらなのではないかなと思っています。赤バツと青丸で表しています。

image_2.png

おまけ

  • リモート追跡ブランチの一覧は git branch -r コマンドで確認可能
7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0