Их не следует удалять.
Ваши локальные ветви - которые на самом деле следует просто назвать "вашими ветвями" - ваши .Только ваши имена для удаленного отслеживания , origin/*
в этом случае не являются вашими. 1 Так что, если origin
имел ветку с именем xyzzy
ранее, но не имеетБолее того, git fetch --prune origin
или git remote prune origin
удаляет ваш origin/xyzzy
в соответствии с отсутствием origin
xyzzy
.
Это не касается ваших ветвей, которые твои .Если вы уверены, что они могут пойти сейчас, вам придется удалить их самостоятельно.Люди написали сценарии для этого, но сказали, что сценарии, как правило, глупы: они часто удаляют ваш xyzzy
, даже если у вас есть коммиты, которые вы забыли нажать до слияния или намеревались перейти в другую ветку ,и как только ваш xyzzy
удален, часто бывает слишком поздно.Поэтому будьте осторожны с такими сценариями.
(Было бы неплохо иметь опцию для этих команд, которая говорит им: Если у меня есть локальная ветвь xyzzy
, которая указывает на тот же коммит, что и origin/xyzzy
, а вы удаляете origin/xyzzy
, удалите и мой локальный xyzzy
. Более того, если у меня есть xyzzy
, но origin/xyzzy
не не совпадает с моим xyzzy
, жаловаться и останавливаться,так что я могу понять, что с этим делать. Но у них нет такой опции.)
1 Технически, это тоже ваше.Просто ваш Git настроен так, что когда ваш Git вызывает свой Git - тот, что находится на origin
- и получает от них названия веток и хеш-идентификаторы, ваш Git перезаписывает ваш собственный origin/master
с помощьюих обновили master
.Так что, хотя origin/master
- это имя в базе данных "имя-хэш-идентификатор" вашего репозитория Git, это не то имя, которым вы обычно управляете сами.Вы просто позволяете своему Git отражать их Git, и их master
становится вашим origin/master
.
Или, говоря короче: ваш Git origin/master
- это способ вашего Git вспомнить их Git master
.Так что это вроде их.