У меня путаница при использовании -t в git checkout и когда не используется - PullRequest
0 голосов
/ 06 июня 2018

На самом деле я не понимаю, в чем именно различия: git checkout branchName и git checkout -t branchName.

1 Ответ

0 голосов
/ 06 июня 2018

Параметр -t (или --track) используется только при создании новой (локальной) ветви, которая должна быть связана с определенной веткой на удаленном сервере (через конкретную ссылку удаленного отслеживания).

Даже в этом случае опция часто не нужна из-за краткого подхода, встроенного в git для наиболее распространенного случая: создания локальной ветви для отслеживания удаленной ветви с тем же именем с удаленной [1].В этом случае вы можете просто сказать

git checkout myBranch

, и поскольку локальная ветвь еще не существует, но существует только одна удаленная ссылка отслеживания remotes/*/myBranch , git figure, вы хотитесоздайте новую ветвь и отследите удаленную ветвь.

Если сокращение не сработает, скажем, потому что у вас есть remotes/origin/myBranch и remotes/upstream/myBranch, то вы можете указать, какой из них отслеживать.

git checkout -t remotes/origin/myBranch

Если сокращение не сработает, потому что вы хотите локально выбрать другое имя ветки, вы можете объединить -t с -b`.

git checkout -t -b localBranch remotes/origin/myBranch

[1] ровно до одногопульт имеет ветку с заданным именем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...