Команда, которую вы должны выполнить: git rebase -i AAA~
(обратите внимание на ~
). Он откроет ваш текстовый редактор по умолчанию со следующей программой rebase:
pick AAA 1st commit
pick BBB 2nd commit
pick CCC 3rd commit
pick X commit from master
pick Y commit from master
pick DDD 4th commit
pick EEE 5th commit
pick FFF 6th commit
Вы должны отредактировать текст, чтобы он выглядел какчто:
pick X commit from master
pick Y commit from master
pick AAA 1st commit
squash BBB 2nd commit
squash CCC 3rd commit
squash DDD 4th commit
squash EEE 5th commit
squash FFF 6th commit
Сохраните и выйдите из текстового редактора.
Запустится Git, а затем снова откройте текстовый редактор, что даст вам возможность редактировать сообщение о коммите:
# This is a combination of 6 commits.
# This is the 1st commit message:
1st commit
# This is the commit message #2:
2nd commit
...
Отредактируйте сообщение о коммите, сохраните и выйдите.
Наконец, история будет выглядеть так:
GGG squashed commit
Y commit from master
X commit from master
Обратите внимание, что вы также можете поместить коммит X и Y после сдавленного коммита,просто отредактируйте программу rebase соответственно.