Интерактивное удаление Hunk с помощью git add --patch - PullRequest
10 голосов
/ 01 февраля 2010

Мне нравится использовать git add --patch (а в последнее время и git add -i), чтобы распутать мои коммиты, а также убедиться, что то, что я делаю, хорошо, чтобы пойти .

Время от времени я сталкиваюсь с ломоть, которая может быть оператором регистрации ошибок, дополнительным символом новой строки (обычно от стирания вышеупомянутого оператора протоколирования) - то, что я на самом деле предпочел бы полностью удалить.

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

Есть ли способ сделать это?


То, что я рассмотрел, использует функциональность редактирования блоков.

Это в сочетании с предложением hash, приведенным ниже, дает мне немного более приятный рабочий процесс, чем сейчас.

Я согласен, что это нарушение разделения интересов git add. OTOH это было бы просто так удобно; P я звучу как мой босс;)

Ответы [ 3 ]

4 голосов
/ 02 февраля 2010

Лучше, чем использовать reset hard HEAD, после фиксации всех ваших допустимых блоков, вы можете просто git checkout файл, чтобы сбросить его до того, что записано в текущей ветви. Таким образом, это не влияет на другие файлы.

1 голос
/ 16 сентября 2015

Подробное объяснение того, почему git add не делает этого, от сопровождающего Git Junio ​​ в списке рассылки Git в ответ на запрос функции.

Краткая версия его альтернативного процесса:

# start from N-commit worth of change, debug and WIP
git stash save -p debug ;# stash away only the debugging aid
# now we have only N-commit worth of change and WIP
git stash save -p wip ;# stash away WIP

git add -p ;# prepare the index for the next commit
git stash save -k ;# save away the changes for later commits

git commit
0 голосов
/ 01 февраля 2010

Вы можете добавить в индекс все, что захотите, зафиксировать, затем сбросить жесткий HEAD, тогда то, что не было в индексе, потеряно.

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