Вы можете удалить ветку удаленного отслеживания, используя
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 прекратит попытки выдвинуть ветки, которые вы «перестали отслеживать».
Примечание: более простым решением было бы просто переименовать вашу локальную ветку в другое. Это также исключило бы некоторую вероятность путаницы.