Я клонировал репозиторий git, а затем проверил тег:
# git checkout 2.4.33 -b my_branch
Это нормально, но когда я пытаюсь запустить git pull
свою ветку, git выдает эту ошибку:
Информация об отслеживании для текущего филиала отсутствует. Пожалуйста, укажите, с какой ветвью вы хотите объединиться. Подробнее см. Git-pull (1).
git pull <remote> <branch>
Если вы хотите установить информацию отслеживания для этой ветки, вы можете сделать это с помощью:
git branch --set-upstream new origin/<branch>
Я хочу git pull
обновить только основную ветку и оставить текущую ветку в покое (в любом случае это тег). Возможно ли что-то подобное?
Причина, по которой мне это нужно, заключается в том, что у меня есть автоматический сценарий, который всегда git извлекает репозиторий и, конечно же, не работает из-за ошибки выше ..
git
git-pull
git-checkout
alesko
источник
источник
Ответы:
Изменить: для более новых версий Git
--set-upstream master
устарел,--set-upstream-to
вместо этого вы должны использовать :Как будет предложено, вы можете просто запустить:
После этого вы можете просто запустить,
git pull
чтобы обновить свой код.источник
git checkout master
. Я не мог этого сделать,git pull
потому что ссылка на происхождение была потеряна. Теперь это работает. Спасибо!У меня была такая же проблема, и я исправил ее с помощью этой команды:
Из файла справки -u в основном устанавливает значение по умолчанию для вытягиваний:
источник
Попробуйте эти команды:
источник
Вернитесь в основную ветку, используя
а затем запустите
git pull
операциюПосле этого вы можете снова переключиться на свой
my_branch
.источник
@alesko : невозможно сделать только
git pull
после оформления заказа толькоmy_branch
для обновленияmaster
ветки.Потому
git pull
что также будет сливаться с текущей веткой -> в вашем сценарии сmy_branch
@Simon : это тоже толчок. это почему?
и в соответствии с документами:
источник
Во-первых, убедитесь, что вы находитесь на правильной ветке.
Затем (только один раз):
После этого это снова работает:
источник
У вас может быть несколько веток. И ваша текущая ветка не настроила свой восходящий поток в удаленном режиме.
Как это исправить:
например
После этого, когда вы это сделаете
git pull
, он будет извлекать из указанной ветки.источник
Вы можете указать, какую ветку вы хотите вытянуть:
Или вы можете настроить его так, чтобы ваша локальная мастер-ветка отслеживала мастер-ветку github как восходящий:
Это отслеживание веток настраивается для вас автоматически при клонировании хранилища (только для ветки по умолчанию), но если вы добавляете удаленное устройство в существующее хранилище, вам нужно настроить отслеживание самостоятельно. К счастью, совет, данный git, позволяет легко запомнить, как это сделать.
--set-upstream, по-видимому, устарел в git 1.9.x. В будущем вы захотите использовать что-то вроде
при условии, что вы уже проверили мастера. Если нет,
git branch -u origin/master master
будет работатьисточник
Попробуй это
источник
Вам необходимо настроить отслеживание (апстрим) для текущей ветки
Уже устарело, вместо этого вы можете использовать флаг --track
Мне также нравится ссылка на документ, который @casey замечает:
источник
У меня сработало следующее: git branch --set-upstream-to = origin master. Когда я снова сделал попытку, я получил только обновления от мастера, и предупреждение исчезло.
источник
Если, как и я, вам нужно делать это все время, вы можете настроить псевдоним, чтобы делать это автоматически, добавив следующее в ваш
.gitconfig
файл:Когда вы увидите сообщение
There is no tracking information...
, просто запуститеgit set-upstream
, а затемgit push
снова.Благодаря https://zarino.co.uk/post/git-set-upstream/
источник
Чтобы просто загрузить обновления:
Однако это просто обновляет ссылку с именем
origin/master
. Лучший способ обновить ваш локальныйmaster
- это проверка / слияние, упомянутое в другом комментарии. Если вы можете гарантировать, что ваш локальный компьютерmaster
не отклонился от основной магистрали, котораяorigin/master
включена, вы можете использоватьgit update-ref
для сопоставления своего текущегоmaster
с новой точкой, но это, вероятно, не лучшее решение для использования на регулярной основе ...источник
Эта команда устарела:
git branch --set-upstream master origin/master
Итак, при попытке настроить отслеживание у меня сработала следующая команда:
источник