Вам не нужно: потому что совершает D
и E
не имеет названия не указывая на них, они имеют право на «сборку мусора». В конце концов git запустит git gc
и выбросит их для вас.
Если вы хотите ускорить это, вы можете запустить git gc
самостоятельно, но затем вступает в действие сноска 1. :-)
Это не совсем верно. В то время как имя филиала dev
теперь содержит идентификатор фиксации E'
(копия), имеется две записи reflog, одна для dev
и одна для HEAD
, которые позволяют вам (и git) находить фиксацию E
. Существует также полуспециальное имя, ORIG_HEAD
, которое продолжается до тех пор, пока что-то еще не заменит его содержимое (например, другая перебаза или git merge
).
По умолчанию большинство записей в журнале остаются в течение 30 дней или 90 дней в зависимости от того, доступна ли фиксация для текущей ветви ветви. Как только истечение срока действия файла reflog, , то объект является кандидатом на сбор мусора.
В качестве еще одной меры предосторожности, git gc
оставляет только «незакрепленные объекты», если они не моложе двух недель (по умолчанию это настраивается, и есть опция , чтобы переопределить это также). Так что вообще, для номинально-заброшенного объекта, чтобы уйти, это:
- должно быть не менее двух недель;
- , возможно, срок действия каких-либо записей reflog (обычно 30 дней); и
- не должно иметь альтернативных имен, поддерживающих его.
(И, конечно же, git gc
должен работать, хотя мерзавец автоматически запускает это всякий раз, когда он «выглядит многообещающим».)
@CloseVoter: это не совсем по теме до дня мерзавец тега, с его 13600 последователей и около 50 000 вопросов, удаляется. – Kaz