Есть ли разные значения концепции «отслеживания» в git?

Я запускаю 'git branch -r' и получаю

origin / branch1

origin / branch2

На странице руководства параметр -r будет "перечислять или удалять (если используется с -d) ветки удаленного отслеживания ". Итак, origin / branch1 и origin / branch2 известны как ветки удаленного отслеживания. Однако вы не можете выполнить фиксацию напрямую в ветку удаленного отслеживания (вместо нее будет создана анонимная ветка). Ветвь удаленного отслеживания просто отслеживает удаленную ветку при запуске git fetch.

Вот здесь семантика для меня немного размыта. Если я затем

git checkout -b branch1 origin / branch1

, я получу следующий результат: «Branch branch1 настроен для отслеживания удаленной ветки branch1 от источника. Переключился на новую ветку 'branch1'»

Вот мой вопрос, сформулированный как можно более подробно, чтобы прояснить, что меня смущает ... В силу того, что branch1 настроен для отслеживания удаленной ветви branch1 от источника, считается ли «branch1» ветвью удаленного отслеживания? Если да, то не противоречит ли это тому факту, что origin / branch1 уже был указан как ветка удаленного отслеживания при запуске git branch -r? Насколько я понимаю, существуют либо локальные (тематические) ветки, либо ветки удаленного отслеживания. При запуске 'git checkout -b branch1 origin / branch1' создаю ли я локальную (тематическую) ветку (в которую я могу добавлять коммиты), которая отслеживает удаленную ветку с помощью выборок? Запуск «git branch» теперь дает: «* branch1», а запуск «git branch -r» по-прежнему дает «origin / branch1» и «origin / branch2». Я создал Branch1, чтобы добавлять коммиты и отслеживать origin / branch1. Что считается ветвью удаленного отслеживания: «ветвь1» из выходных данных «git branch» или «origin / branch1» из выходных данных «git branch -r»?

13
задан Zoe 10 November 2017 в 15:50
поделиться