Эти параметры немного отличаются.
git checkout -b BRANCHNAME
создает новую ветвь, указывающую на то же место, что и текущий , и проверяет ее. Другими словами, новая ветка, которую вы только что создали, обычно эквивалентна старой (пока вы не добавите больше коммитов). Ветвь не имеет удаленной ветви отслеживания, связанной с ней.
С -b
также можно указать ветку, на которой она будет основана, поэтому вы можете использовать git branch -b bug-1234 project-5678
для создания bug-1234
, начиная с project-5678
.
git checkout --track REMOTE/BRANCHNAME
создает новую ветку (с именем BRANCHNAME
), указывающую на то же место, что и ветка удаленного отслеживания , указанная вами . Новая ветка имеет указанную ветку удаленного отслеживания, связанную с ней. Это неявно использует -b
под капотом, если вы не укажете это явно.
В общем, если вы хотите просто создать новую ветку из существующей, используйте -b
. Если вы хотите создать новую ветвь, которая отслеживает удаленную ветку, используйте --track
.