Изменен самый первый коммит, добавлено больше коммитов - PullRequest
0 голосов
/ 20 февраля 2019

Я хотел удалить файл из моего самого первого начального коммита:

git rebase -i --root

установить первый коммит для редактирования

git rm *filename
git commit --amend
git rebase --continue

Теперь у меня есть новый коммит, который состоит изистория коммитов (которые успешно удалили файл, который я хотел из первоначального коммита), но предыдущие коммиты также остаются.Так что сейчас есть дублирующие коммиты.Мой вопрос заключается в том, как сохранить только самый последний коммит.

1 Ответ

0 голосов
/ 20 февраля 2019

Похоже, что-то все еще ссылается на них.Это может быть из-за того, что у вас есть другие ветви, которые все еще указывают на некоторые из старых коммитов. Выполните git log --all --graph, чтобы увидеть, что это такое.

Затем вы можете сбросить свои ветви на их новые, переназначенные коммиты, выполнивgit checkout <other_branch>, затем git reset --hard <new_rebased_commit>.

Как только вы закончите, вы можете удалить старые коммиты, запустив git gc --prune=all.Если вы этого не сделаете, их все равно можно будет найти, например, с помощью git reflog

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