79

Git 拡張機能を使用して新しいブランチをリモート リポジトリにプッシュすると、アラートが表示されます。

The branch {branch name} does not have a tracking reference. Do
you want to add a tracking reference for {branch name}?

追跡参照とは何ですか? Google で参照を追跡することについて言及されているのはほんのわずかであり、実際の定義はありません。

4

4 に答える 4

38

基本的な考え方は、純粋にローカル参照(ブランチ、タグなど)があり、次に他のリポジトリで発生することに従うリモート追跡参照があるということです。Gitは分散化されているため、リモートで使用されているものと同じブランチの名前を選択できます。他のブランチについては知らなくても、まったく異なる作業を行うことができます。Gitを使用するとこれを実行できますが、ローカル参照をリモート参照にリンクする方法も提供します。

たとえば、次のことを考慮してください。

% git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/maint
  remotes/origin/master
  remotes/origin/next
  remotes/origin/pu
  remotes/origin/todo

ここに、origincallednextとのブランチがありtodoます。

% git checkout -t remotes/origin/next
Branch next set up to track remote branch next from origin.
Switched to a new branch 'next'
% git branch todo    

これnextで、同じ名前のリモートブランチを追跡するローカルブランチと、へのtodo変更で更新されないローカルブランチができましたremotes/origin/todo

于 2013-03-13T03:46:27.340 に答える
7

Nick Quaranto の優れたブログgit readyには、リモート トラッキング ブランチを説明する投稿があります。

リモート追跡ブランチには、いくつかの異なる目的があります。

  • リモートで作業しているものと比較して、ローカルで作業しているものをリンクするために使用されます。

  • git pull または git fetch を使用すると、どのリモート ブランチから変更を取得するかが自動的に認識されます。

  • さらに良いことに、git status は、ブランチのリモート バージョンの前にあるコミットの数を彼に認識させます。

于 2013-10-01T04:21:34.767 に答える