Во-первых, зафиксируйте изменение полностью (все изменения одновременно, так, как вы хотите, чтобы оно выглядело после двух ревизий) и поместите туда временную ветвь ... как "бла" git branch blah
(нет необходимости чтобы проверить это).
Затем установите файл так, как вам нужно, в первой ревизии и измените ревизию (git commit --amend -m "first change, blah blah"
).
Извлеките бла (git checkout blah
) и установите указатель ветви на другую ветвь , над которой вы работали изначально (git reset --soft the-other-branch
, которая не затронет другую ветвь, не беспокойтесь). На этом этапе изменения для второй ревизии находятся в индексе.
Фиксация (git commit -m "second change for the file, blah blah"
). Теперь у бла есть изменения один за другим так, как вы хотели изначально. Если вам нравится результат истории ветки, переместите другую ветку туда, где находится бла и удалите ветку: (git branch -f the-other-branch; git checkout the-other-branch; git branch -d blah
).