Вы можете удалить ветку удаленного отслеживания, используя
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
, если у вас git <1.7.4.3) </p>
upstream - выдвинуть текущую ветвь в ее восходящую ветвь.
с помощью
git config push.default upstream
и git прекратит попытки выдвинуть ветки, которые вы «перестали отслеживать».
Примечание: Более простым решением было бы просто переименовать вашу локальную ветку на что-то другое. Это также исключило бы некоторую путаницу.