假设使用主线A和已经合并的分支B的git历史记录。
b1 b2
-----•------•--- B
/ \
•------•----•--------------•-------• A
a1 a2 a3 a4 a5
a4是合并提交w / commit消息合并"合并B到A。
是否可以将历史记录更改为以下内容。
b1' b2'
•-----•-----•-----•-----•-----• A
a1 a2 a3 a5
编辑: 如果可能,我不想更改提交日期。
答案 0 :(得分:1)
git cherry-pick
保存提交日期
1)去提交a2 git checkout a2
2)创建新分支C git branch C
3)转到新的分支C git checkout C
4)从A分支git cherry-pick a3 b1 b2 a5
获取
5)回到A git checkout A
6)永久删除比提交a2 git reset --hard a2
更新的所有内容
7)从分支C git cherry-pick a3 b1 b2 a5
获取
8)最好删除分支C,删除分支C git branch -D C