最終更新日: 2026-07-24
TOP(About this memo)) > 一覧(Git) > 基本用語・概念
origin/****のこと。git fetchしてからgit merge origin/xxxxxをするというのは、リモート追跡ブランチにリモートの変更を取り込み、現在のブランチにorigin/xxxxxを取り込んでいるということ。git pullしたときの対象になるブランチ。たとえばmasterをチェックアウトしてgit pullすると、自動的にorigin/masterの変更を取得する。ここでorigin/masterはローカルブランチmasterの上流ブランチであり、masterはorigin/masterを追跡(tracking)している、ともいう。
origin/masterとorigin masterの違い
origin/masterとスラッシュが付く場合、ローカルのrefs領域を指す。origin masterとスペースが付く場合、サーバーを指す。git show <ハッシュ値>のようにハッシュ値を直接指定してもコミットを参照できる。ハッシュ値はgit logで確認できる。^(キャレット)と~(チルダ)を以下のように使い分ける。単一の親をたどる限りではHEAD~1とHEAD^は同じ意味になる。o(HEAD~3) - o(HEAD~2 or HEAD~1^1) -o(HEAD~1 or HEAD^) -HEAD
/ /
------o(HEAD~1^2)-----------
.git/refs/heads/:ローカルのブランチへの参照を格納。.git/refs/remotes/:リモートリポジトリへの参照(ブランチ、タグ)を格納。.git/refs/tags/:ローカルのタグへの参照を格納。origin/masterのように書いている場合、ローカルの.git/refs/remotes/origin/masterを指している(?)。.git/以降のrefsからを参照として使用でき、前半部分はGitが展開するため省略可能となっている。
git log refs/heads/master
git log heads/master
git log master
.git/config内で指定され、fetch/pullとpushで使用する。(TODO)