Я запускаю 'git branch -r' и получаю
Происхождение/branch1
Происхождение/branch2
С man-страницы опция -r будет "перечислить или удалить (если используется с -d) ветки удаленного отслеживания". Таким образом, origin/branch1 и origin/branch2 известны как ветки удаленного отслеживания. Однако вы не можете напрямую связываться с ветвью удаленного отслеживания (вместо этого создается анонимная ветка). Отслеживание удаленного отслеживания просто отслеживает удаленную ветвь при запуске 'git fetch'.
Здесь, где семантика становится немного расплывчатой для меня. Если я тогда
git checkout -b branch1 origin/branch1
Я получаю следующий вывод: "Филиал ветки 1 настроен для отслеживания ветки удаленной ветки1 от источника. Переключился на новую ветвь" branch1 ""
Вот мой вопрос, поставил как можно более подробно, чтобы выяснить, что меня смущает... В силу того, что ветвь 1 настроена для отслеживания ветки удаленной ветки 1 от источника, является ли "ветвь 1" таким образом, как ветвь удаленного слежения? Если это так, разве это противоречие с тем фактом, что "origin/branch1" уже упоминалось как удаленная ветка отслеживания при запуске "git branch -r"? Насколько я понимаю, существуют либо локальные (тематические) ветки, либо ветки удаленного отслеживания. При запуске 'git checkout -b branch1 origin/branch1', создаю ли я локальную ветвь (тему), на которую я могу добавить фиксации, которая отслеживает удаленную ветвь путем извлечения? Запуск 'git branch' теперь дает: '* branch1', а запуск 'git branch -r' все еще дает 'origin/branch1' и 'origin/branch2'. Я создал branch1 для добавления коммитов и отслеживания origin/branch1. Который считается ветвью удаленного отслеживания, "branch1" из вывода "git branch" или "origin/branch1" из вывода "git branch -r"?