Как найти, какую ветку отслеживает текущая ветка - PullRequest
6 голосов
/ 03 августа 2011

Я пытаюсь выяснить, какая ветвь будет выбрана, если я сделаю git fetch в текущей ветке, и как я могу это изменить (по некоторому варианту git remote или редактированию .git/config файла).

Из какой удаленной ветви git pull извлекает содержимое? Это то же самое, из которого git fetch извлекает содержимое? Есть ли команда git, которая может показать мне всю эту информацию?

1 Ответ

7 голосов
/ 03 августа 2011

Чтобы настроить отслеживаемую удаленную ветку для локальной ветки, используйте

git branch --set-upstream <local_branch> <remote_branch>

Итак, если вы хотите, чтобы ваш местный master отслеживал origin/master, введите

git branch --set-upstream master origin/master

Однако git fetch извлекает все ветви настроенного пульта.

Если у вас несколько пультов (например, origin и other),

git fetch other

будет извлекать пульт other, пока

git fetch origin

принесет origin.

Чтобы узнать, какая удаленная ветка отслеживается, откройте .git/config и найдите запись типа

[branch "mybranch"]
  remote = <remote_name>
  merge = <remote_branch>

Это говорит о том, что ваше местное отделение mybranch имеет <remote_name> в качестве настроенного удаленного и что оно отслеживает <remote_branch> на <remote_name>.

Какие ветви выбираются с удаленного компьютера и как они вызываются в вашем локальном репо, определяется в следующем разделе .git/config:

[remote "origin"]
  fetch=+refs/heads/*:refs/remotes/origin/*
  url=<url_of_origin>

Это говорит о том, что ветки, хранящиеся в refs/heads вашего происхождения, извлекаются и сохраняются в refs/remotes/origin/ в вашем локальном репо.

Если вы используете mybranch и набираете git fetch, будут извлечены версии <remote_name> (указанные в разделе [remote <remote_name>]). Если вы наберете git pull, после получения ревизий <remote_name> ветвь <remote_branch> из <remote_name> будет объединена в mybranch.

Дополнительную информацию можно найти на справочных страницах git branch, git fetch и git pull.

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