Чтобы настроить отслеживаемую удаленную ветку для локальной ветки, используйте
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
.