Удалить git объекты полностью после сброса git - PullRequest
2 голосов
/ 14 марта 2012

За http://snipplr.com/view/11513/, Я пытался

$ git reflog expire --expire=1.minute refs/heads/master
$ git fsck --unreachable # now I see those tarball blobs!
$ git prune # hasta la vista, baby
$ git gc # cleanup and repack the repo

, но это не помогло, я все еще могу проверить по хэш-коду.

Ответы [ 2 ]

3 голосов
/ 14 марта 2012

Команды, на которые вы ссылались, не работали, потому что git gc по умолчанию не удаляет ничего меньше двух недель, поэтому вам нужно указать, что вы хотите удалить все:

git reflog expire --expire-unreachable=now
git gc --prune=now

Вызов git prune является избыточным, поскольку git gc вызывает его в любом случае.Вызов git fsck предназначен только для отображения и не нуждается в запуске.

Обратите внимание, что эти команды сделают невозможным восстановление каких-либо других недоступных коммитов, и, конечно, журнал будет очищен при выполнении любого из егоприятные функции отката, непригодные для прошлой истории.

0 голосов
/ 14 марта 2012

Помимо всего прочего, вам также нужно истечь срок действия рефлога HEAD, чтобы коммит стал разыменованным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...