Изменить фиксацию при разделении при перебазировании

#git #rebase #git-amend

#git #перебазировать #git-изменить

Вопрос:

Иногда я случайно изменяю предыдущую фиксацию, внося изменения, которые я хочу внести в предыдущую, т.е. HEAD~1 . Обычно я перехожу в интерактивный режим перебазирования с помощью git rebase -i , разделяю фиксацию на два коммита, завершаю перебазирование. Затем снова выполнить перебазирование, чтобы исправить исходную фиксацию

Есть ли более быстрый способ сделать это? Могу ли я просто git commit --amend после разделения фиксации добавить свои изменения в промежуточную область перед внесением изменений?

Комментарии:

1. Интересный рабочий процесс. Вопрос: как вы разделяете фиксацию в первую очередь? Я попытался и преуспел, но это показалось довольно сложным для выполнения. Что касается вашего вопроса, я не вижу более быстрого способа, потому что я думаю, что то, что вы предлагаете, потребовало бы второго перебазирования (чтобы объединить два коммита в один) в середине обработки первого перебазирования, чего вы не можете сделать.

Ответ №1:

Похоже, вы хотите «выбрать вишенку» в истории ваших коммитов, чтобы сохранить ее в новой ветке, а затем изменить свой предыдущий коммит, чтобы удалить его.

Как вы упомянули, это довольно сложно из командной строки. Но есть ряд инструментов, которые упрощают это. Например, в Git Extensions есть простой способ изменить историю ваших фиксаций, используя графический интерфейс пользователя вместо командной строки.