Что означает это сообщение? более одной ветки. <name>.remote
В выводе git remote show origin
я вижу это сообщение:
warning: more than one branch.main_int.remote
Более канонический пример:
warning: more than one branch.master.remote
Что это значит? Это плохо, и как я могу это исправить, если это плохо?
Ответы
Ответ 1
У вас более одного параметра remote = ...
в разделе [branch "master"]
(или [branch "main_int"]
) вашего файла конфигурации. Чтобы увидеть это, запустите:
git config --get-all branch.master.remote
Скорее всего, обе строки находятся в файле .git/config
. Удалите одну из строк.
Если вы видите только одну строку remote = ...
в вашем файле .git/config
, проверьте файлы ~/.gitconfig
, ~/.config/git/config
и /etc/gitconfig
. (Эффективная конфигурация для репозитория - это объединение всех этих файлов вместе.)
Этот параметр конфигурации сохраняет имя репозитория восходящего потока ветки, который используется при вводе git push
или git fetch
. У ветки может быть только одна ветвь вверх по потоку (например, master
может следовать за origin/master
, но она также не может следовать за some_other_remote/master
).
Ответ 2
Это означает, что ваше репо настроено с несколькими пультами для ветки.
Я предпочитаю делать следующие команды для исправления этой ситуации:
Сначала убедитесь, что местоположение источника удобно. Вы можете использовать git remote show origin
или просто git remote -v
, чтобы узнать, что в настоящее время установлено для местоположения источника.
Удалите ненужные пульты дистанционного управления с помощью команды удаленного rm. Например, чтобы удалить удаленное использование источника:
git remote rm origin
Эта команда удалит все пульты с именем "origin", поэтому, если у вас было более одного, как кажется вам, ваше предупреждающее сообщение, то после этой команды у вас их не будет. Но на этом этапе вы можете добавить обратно:
git remote add origin location:/to/origin/repo.git