Как удалить ненужные коммиты git? - PullRequest
11 голосов
/ 07 августа 2011

В моем git-репозитории есть коммиты мусора.Они были созданы, например, git gui при повторном изменении последнего коммита и случайном создании дополнительных коммитов.

Теперь у меня есть некоторые коммиты без присмотра HEAD (отсоединено, не является частью какой-либо ветви).

Поскольку я хочу привести в порядок мой вопрос: как я могу удалить эти коммиты (см. F, G и H)?Это сделано с помощью rebase или вернуть или сбросить?Или с помощью другого инструмента?На каком коммите я должен сидеть, чтобы сделать это?

A -- B -- C -- D -- E [master]
      \-- F -- G
           \-- H

Спасибо

Кристиан

Ответы [ 2 ]

17 голосов
/ 07 августа 2011

Попробуйте это:

git reflog expire --expire=now
git gc --prune=now
1 голос
/ 08 августа 2011

Сделайте следующее:

git config gc.reflogexpireUnreachable now
git gc --prune=now
git config --unset gc.reflogexpireUnreachable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...