Как удалить файл после коммита? - PullRequest
1 голос
/ 30 октября 2019

Я случайно добавил некоторые изменения в коммит. Я хотел бы удалить эти изменения из коммита, но оставить их в моем рабочем дереве. Просто чтобы прояснить, я сделал что-то вроде этого:

git add xyz
git add unwanted # please make it as if I never typed this line
git commit -m 'nice xyz changes'

Есть ли простой способ изменить этот коммит так, чтобы нежелательного git add никогда не происходило до совершения?

Я полагаю, яможет взять diff, сбросить файл так, как это было в предыдущем коммите, исправить ошибочный коммит и применить diff. Есть ли более простой способ?

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Я только что заметил, что git reset сделан именно для моих нужд. Он касается только индекса и сбрасывает его до определенного коммита (или, в более общем случае, до некоторого «дерева»). Рабочее дерево остается нетронутым. Это решает мою проблему:

git reset HEAD^ -- unwanted
git commit --amend
1 голос
/ 30 октября 2019

Вы просто:

git checkout HEAD^ -- unwanted
git commit --amend
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...