Ответ 1
Это немного странно, но если вы используете git pull [remote] <refspec>
, он фактически не обновляет удаленные ссылки. Это имеет смысл, если вы думаете об этом определенным образом: поскольку вы указываете конкретный рефлектор для извлечения, ему не нужно искать что-либо о ваших удаленных ветвях, поэтому он по сути не знает, что такое удаленная ветвь должен обновляться. Это, конечно, могло бы понять это, и я не удивлюсь, если он будет исправлен в конце концов, но это существующее поведение. (В нем могут быть сообщения в списке рассылки - я не знаю.)
Вы можете легко обойти это. Если вы используете git pull origin/master
, так как вы указываете, что выбрать через удаленный филиал, он должен обновить эту удаленную ветку. И если вы все равно находитесь в своей главной ветке (или в любом другом направлении отслеживания происхождения/мастера), вы можете просто сделать git pull
и позволить ему заполнить значения по умолчанию и обновить удаленные ветки.
Это задокументировано на странице git-pull
man, наиболее сжатой в разделе ПРИМЕРЫ, но также и в другом месте. Соответствующая часть:
Слейте в текущую ветку следующую ветку:
$ git pull origin next
Это временно сохраняет копию следующего файла FETCH_HEAD, но не обновляет ветки удаленного отслеживания. Используя ветки удаленного отслеживания, то же самое можно сделать, вызвав выборку и слияние:
$ git fetch origin $ git merge origin/next