Мерзавец отменить ошибочное отслеживание ветви

Я хотел настроить мою локальную ветку магистрали, чтобы отслеживать происхождение / магистраль, но использовал команду

git branch --set-upstream origin/mainline mainline по ошибке,

с результатом Branch origin/mainline set up to track local branch mainline,

Как я могу это исправить, чтобы локальная магистраль отслеживала удаленную магистраль?

3 ответа

Решение

У вас неправильный порядок аргументов, что вы хотите git branch --set-upstream mainline origin/mainline,

увидеть:

-t, --track

При создании новой ветви настройте конфигурацию, чтобы пометить ветку начальной точки как "восходящую" от новой ветви. Эта конфигурация скажет git показать связь между двумя ветвями в git status и git branch -v. Более того, он направляет git pull без аргументов для извлечения из восходящего потока при извлечении новой ветви.

Это поведение по умолчанию, когда отправной точкой является ветвь удаленного отслеживания. Установите для переменной конфигурации branch.autosetupmerge значение false, если вы хотите, чтобы git checkout и git branch всегда вели себя так, как если бы был задан параметр --no-track. Установите это значение всегда, если вы хотите, чтобы это происходило, когда отправной точкой является локальная или удаленная ветвь отслеживания.

--set-вверх по течению

Если указанная ветвь еще не существует или если задан параметр --force, он действует точно так же, как и --track. В противном случае настраивает конфигурацию, как --track при создании ветви, за исключением того, куда указывает ветка, не изменяется.

Итак, что вы сделали, это создали местный филиал с именем origin/mainline какие треки mainline ветка.

Я столкнулся с похожей проблемой использования:

git branch -t origin/master

вместо git branch --set-upstream-to=origin/master отслеживать происхождение / мастер.

Несколько более простое решение было: я удалил **** локальную ветку ** Origin/master**, которая была создана первой.

А потом сделал: git branch --set-upstream-to=origin/master успешно, потому что теперь он может обнаружить фактическое происхождение / мастер.

Похоже, git создал другую локальную ветку origin/mainline и сделал это для отслеживания mainline. я использовал git config -e а затем установить remote=origin для основной линии (происхождение уже определено), а затем git branch -d origin/mainline удалить местное отделение. Кажется, обратились к проблеме.

Другие вопросы по тегам