Как я могу отменить изменения между двумя коммитами? - PullRequest
1 голос
/ 15 апреля 2020

Я хочу вернуть один файл, изменения между двумя фиксациями,

commit 1 hash: abcde1....
   some code changes

commit 2 hash : abcde2....
   some code changes

commit 3 hash : abcde3....
   some code changes

.....

я могу использовать git checkout abcde3 -- file/to/restore и вернуться к фиксации 3, но потерял изменения фиксации 1,
Как я могу оформить заказ только совершить 2 изменения?

1 Ответ

2 голосов
/ 15 апреля 2020

Вы можете просто использовать git revert.

Отменить коммит 2, и это создаст новый коммит, который отменяет любые изменения, внесенные упомянутым коммитом 2.

Если git revert (который работает на уровне фиксации и not для одного файла) возвращает слишком много файлов, вы можете сбросить файлы, которые вы не хотели возвращать .

git revert --no-commit <commit hash> # Revert, don't commit it yet
git reset # Unstage everything
git add yourFilesToRevert # Add the file to revert
git commit -m "commit message"
git reset --hard # Undo changes from the part of the revert that we didn't commit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...