Возврат многих коммитов в IntelliJ одним коммитом - PullRequest
2 голосов
/ 10 октября 2019

Я хотел бы отменить многие коммиты, которые были перенесены сверхурочно в IntelliJ, я искал соответствующий вопрос, но не смог найти ни одного. В идеале я хочу, чтобы история сохраняла только один коммит, который вернул бы все к de0cbda enter image description here Есть ли какой-нибудь простой способ сделать это в IntelliJ? Или, возможно, через командную строку?

1 Ответ

2 голосов
/ 10 октября 2019

Если, как указано в вашем комментарии к моему предыдущему ответу, вы хотите отменить только изменения, внесенные в один файл, за несколько выполненных коммитов:

git checkout de0cbda <PATH_TO_FILE>

Сильфон, мой предыдущийответ, прежде чем OP определил, что он хочет отменить изменения только для одного файла

Да, команда git revert с флагом -n отменит изменения и разместит их без фиксации.

Благодаря комментарию @ ElpieKay, проверьте, является ли ваша история линейной, если да, сбросьте текущую ветку на # 1d7e8e5, а затем выполните следующую команду:

git revert HEAD~14 -n

14 - это количество коммитов, которое вы хотите сделатьrevert.

Если нет, вы можете просто перечислить хеши коммитов в команде git revert:

git revert 1d7e8e5 0d2b8ea ... 39bdd21 de0cbda -n

В конце просмотрите спрятанные изменения, и если вы довольны ими, просто зафиксируйтеих с git commit -m "Message"

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