Вы можете удалить ветку удаленного отслеживания, используя
git branch -d -r origin/<remote branch name>
как VonC упоминает выше. Однако, если вы сохраните свою локальную копию ветки, git push
вы все равно будете пытаться протолкнуть эту ветку (что может привести к ошибке, не связанной с перемоткой вперед, как это произошло с ruffin ). Это потому, что в конфигурации по push.default
умолчанию указано следующее matching
:
сопоставление - нажмите все соответствующие ветви. Все ветви, имеющие одинаковое имя на обоих концах, считаются совпадающими. Это по умолчанию.
(см. http://git-scm.com/docs/git-config в разделе push.default
)
Видя , как это, вероятно , не то , что вы хотите , когда вы удалили удаленное отслеживание ветви, вы можете установить push.default
на upstream
(или tracking
если у вас есть мерзавец <1.7.4.3)
upstream - выдвинуть текущую ветвь в ее восходящую ветвь.
с помощью
git config push.default upstream
и git прекратит попытки выдвинуть ветки, которые вы «перестали отслеживать».
Примечание: более простым решением было бы просто переименовать вашу локальную ветку в другое. Это также исключило бы некоторую вероятность путаницы.