Как я могу / могу полностью уничтожить наборы изменений в репозитории git? - PullRequest
0 голосов
/ 25 июля 2011

Я пытаюсь действительно удалить наборы изменений в репозитории git. Я использую git reset --hard, но все еще кажется, что я могу восстановить старые наборы изменений:

% git init
Initialized empty Git repository in /tmp/ross/test/.git/

% echo hi > hi; git add hi; git commit -m hi hi
[master (root-commit) 3ef4ac5] hi
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 hi

% echo bye > bye; git add bye; git commit -m bye bye
[master 966b136] bye
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 bye

% git tag mytag

% git log # grab the 'hi' sha number

% git reset --hard 3ef4ac559079c3b463374a51fb460d46ade396dc
HEAD is now at 3ef4ac5 hi

% git checkout mytag
Note: checking out 'mytag'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 966b136... bye

Почему я могу по-прежнему извлекать коммит bye с тегом mytag после выполнения команды git reset --hard ...? Я думал, что git reset --hard должен был полностью уничтожить эти изменения? Есть ли способ действительно уничтожить наборы изменений?

1 Ответ

2 голосов
/ 25 июля 2011

Краткий ответ: «нет». git reset перемещается только вокруг того, на что указывает ваша ветвь. Осиротевшие коммиты (те, которые не содержатся ни в каких ветках или тегах) будут собираться мусором после того, как они получат право - после того, как им по умолчанию будет две недели. Git хорошо справляется с управлением своим хранилищем, поэтому просто позвольте ему делать свое дело.

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