Я сделал это:
- Убирали мои текущие изменения (спрятано).
git rebase -i HEAD~3
.
Ред:
< выбрать второй sha1 > Второй фиксации.
pick < 1st sha1 > Первый коммит.
squash < 3rd sha1 > Третий фиксатор.
Решает конфликт: error: could not apply <2nd sha1>... Second commit.
.
git rebase --continue
.
- Текстовый редактор был уволен вторым сообщением о фиксации, я сохранил его.
- Решает конфликт:
error: could not apply <1nd sha1>... First commit.
.
git rebase --continue
.
- Текстовый редактор был уволен с первым сообщением фиксации, я сохранил его.
- Текстовый редактор был уволен с просьбой о передаче сообщения для раздачи первого и третьего коммита, я набрал новое сообщение (
First commit (squashed).
).
Тогда все было сделано.
git log --oneline
:
git log --oneline
<2nd sha1> Second commit.
<1st sha1> First commit (squashed).
мне удалось сделать это успешно, конфликты, которые имели место должно было произойти, и было легко решить.
Я очень доволен результатом, но я хотел бы знать, так или иначе, если есть лучший способ достичь этого.