Его не следует удалять.
Ваши местные ветви - которые на самом деле следует просто назвать «вашими ветвями» - являются вашими . Только ваши имена для удаленного слежения , origin/*
в данном случае не являются вашими. 1 sup> Так что если 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 sup> Технически, это тоже ваши. Просто ваш Git настроен так, что когда ваш Git вызывает свой Git - тот, что в origin
- и получает от них названия веток и хеш-идентификаторы, ваш Git перезаписывает свой собственный origin/master
с помощью их обновили master
. Таким образом, хотя origin/master
- это имя в базе данных «имя-хэш-идентификатор» вашего репозитория Git, это не то имя, которым вы обычно управляете сами. Вы просто позволяете своему Git отражать их Git, и их master
становятся вашими origin/master
.
Или, говоря короче: ваш мерзавец origin/master
- это способ помнить своего мерзавца master
. Так что это своего рода их.