2013-02-23 3 views
11

В моей первой попытке сделать что-то с git я использовал GitHub для Windows. Поскольку это простой и довольно примитивный инструмент, я решил попробовать SmartGit. Когда я оглядывался, я обнаружил, что у меня остались остатки моих тестов - что-то называлось «потерянными головами». Как я могу избавиться от этого мусора? Казалось, чтоКак я могу избавиться от «Потерянных голов»?

git gc --prune=now 

или что-то подобное должно работать, но ничего не изменилось. Я пробовал поиск в Интернете, но все пытались сделать обратное - восстановить потерянные цели из потерянной головы или чего-то подобного.

ответ

10

Согласно man page, git gc не будет мусором собирать файлы, на которые ссылаются файлы 'reflogs' (.git/logs/<ref-name> в вашем репозитории). Эти HEAD - это именно то, что отображает SmartGit/Hg, и когда вы удаляете эти журналы, незапланированные фиксации должны быть собраны git gc --prune=now.

Предупреждение Если нет действительно веских оснований, чтобы полностью избавиться от этих коммитов (например, удаление конфиденциальных данных), вы не должны этого делать - возможно, через некоторое время вас может заинтересовать именно одна из этих коммитов , По крайней мере, исправление дискового пространства не является веской причиной, на мой взгляд.

+1

Восстановление дискового пространства не является моей причиной (мой репозиторий git занимает менее 0,01% свободного места). Я хочу избавиться от «aaaeaeae test 2626», висящего повсюду. – Bulwersator

+0

Через некоторое время трудно найти мое сообщение, когда у меня есть сотни из них. Это было бы веской причиной для меня. – pevik

+0

@pevik, если многие потерянные головоломки заставляют Log запутывать, просто снимите флажок и только при необходимости повторите проверку. – mstrap

Смежные вопросы