これscratch
がリモートリポジトリでありbough
、このリポジトリのブランチであるとします。これは、によって印刷される行の1つが。git branch -r
になることを意味しますscratch/bough
。今なら私は実行します
% git branch -t twig scratch/bough
Branch twig set up to track remote branch bough from scratch.
次に、の内容を調べる.git/config
と、新しいセクションが追加されていることがわかります。
[branch "twig"]
remote = scratch
merge = refs/heads/bough
属性の値により、merge
ファイルがあると思われるかもしれません.git/refs/heads/bough
が、実際にはそのようなファイルはありません。しかし、今はファイルがあり.git/refs/heads/twig
ます:
.git/refs
├── heads
│ ├── master
│ └── twig
├── remotes
│ └── scratch
│ └── HEAD
└── tags
これは、その行merge = refs/heads/bough
がなぜそう思ったのかを意味しないか(IOW、値が.git
既存のファイルの相対的なパスを参照していること)、またはgitにかなり重大なバグがあることを認識します。
したがって、前者が当てはまると仮定しましょう。では、この線merge = refs/heads/bough
は実際にはどういう意味ですか?