Сбивание сообщения об ошибке из git
Я получил это сообщение от Git:
Вы попросили вытащить из удаленного источника, но не указали отделение. Поскольку это не настроенный по умолчанию удаленный для вашей текущей ветки вы должны указать ветвь в командной строке.
Кто-нибудь может это объяснить? и что еще важнее, как его исправить?
Ответы
Ответ 1
Вы должны указать git, какую ветку вы хотите извлечь из "исходных" удаленных репозиториев.
Я думаю, вам нужна ветка по умолчанию (master), поэтому git pull origin master
должна исправить вашу проблему.
Подробнее см. git help branch
, git help pull
и git help fetch
.
Ответ 2
Чтобы исправить это, предположив, что вы находитесь на ветке master
и хотите вывести ветвь master
с удаленного пульта origin
в новых достаточно доступных версиях Git (1.8 или новее):
git branch -u origin/master master
(Аналогично для других ветвей и/или пультов).
Если вы можете комбинировать это с нажатием, его еще короче:
git push -u origin master
После этого обычная git pull
/git push
будет делать то, что вы ожидаете.
Во время Git 1.7 серии git branch
не было переключателя -u
(только git push
), и вместо этого вам пришлось использовать гораздо более длинный --set-upstream
:
git branch --set-upstream master origin/master
Обратите внимание на отмену аргументов по сравнению с -u
. Я несколько раз искал этот заказ.
Все это, кстати, является сокращением для выполнения следующего, которое вы все еще можете сделать явно:
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
До 1.7 вам пришлось сделать это таким образом.
Ответ 3
В сообщении говорится, что именно. Ваша текущая ветка не связана с (не отслеживает) ни одной ветки по происхождению. Поэтому git не знает, что тянуть.
Что делать? Это зависит...
В наиболее обычной ситуации вы работаете с некоторой локальной ветвью xyz, которая разветвляется от мастера, который клонируется из оригинала. Обычный способ его разрешения - переключиться на мастер и потянуть, чтобы синхронизировать его с источником, а затем вернуться к xyz и rebase master
.
Но в вашей ситуации вы можете сделать что-то еще. Мы не можем знать об этом, не зная подробностей ваших веток и пультов и о том, как вы намерены их использовать.