git - как сделать чистый репозиторий - PullRequest
0 голосов
/ 25 июля 2011

Настройка репозитория git с некоторыми грязными коммитами.Все работает и все хорошо, но я хотел бы удалить / удалить грязные коммиты - как вы это сделаете?

Ответы [ 2 ]

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

Если вы хотите просмотреть всю историю, я думаю, что лучшим способом будет интерактивная перебазировка

git checkout master
git tag oldmaster
git branch newbranch sha1ofRootCommit
git rebase -i newbranch

Ваш редактор должен появиться. Удалите строки коммитов, которые вам не нужны. Если все идет хорошо и не было никаких конфликтов, master должен содержать вашу чистую историю.

Вот ссылка на аналогичный вопрос

Как сказал CharlesB, вы можете заключать коммиты в один, если вы все еще хотите сохранить изменения, заменив pick на squash вместо удаления строки.

1 голос
/ 25 июля 2011

Ваш ДЕРЕВО

A - B - C - D - E - HEAD

Если вы хотите выполнить сброс для фиксации C, скажите окончательный результат

A - B - C - HEAD, вы можете сделать

git reset --hard <shasum of your commit C>

Если вы хотите удалить только коммит C,

A - B - D - E- ГОЛОВУ, вы можете сделать

git rebase --onto <shasum of B> <shasum of C>

Надеюсь, это поможет

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