git: переделать только старый коммит - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть проект в git, в котором последний коммит имеет правильные изменения, но коммит, следующий за последним, должен быть полностью отменен, поэтому примененные изменения с третьего на последний до следующего за последним должны быть"ignored".

Последний коммит и следующий за последним коммит не имеют общих измененных файлов.

Как я могу это сделать?

Ответы [ 2 ]

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

Если вы находитесь в ветке, вы можете использовать cherry-pick .

То есть:

  • Создать новую ветку из последней хороший коммит (например, мастер)

  • Затем выберите последний коммит: git cherry-pick <last-commit-sha>

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

Типичный способ сделать это:

git revert HEAD^
# HEAD points to the last commit, so HEAD^ is the commit just before

Он создаст новый коммит поверх подсказки ветви, содержащий обратные изменения, которые содержит ваш неисправный коммит.

Примечание:это не переписывает вашу историю, нет необходимости --force ничего, когда вам нужно будет нажать.

...