我想把一个包含合并提交的git历史记录转换为单一线性历史记录,但不将分支中的所有提交压缩为单个提交。
也就是说,从以下内容开始:
我想要一行文字,如下所示:
我想要这样做的原因是,我正在与另一个开发人员在一个特性分支上工作。当他拉取我的更改时,他反复使用了
注:我知道结果中的提交 ID 可能会有所不同。我也知道重写历史的所有常见后果。
更新:这不是这个问题的重复,因为我想保留分支中的单独提交,而不是将它们压缩成一个提交。
也就是说,从以下内容开始:
* d667df5 (HEAD -> master) Modify merged file
* 233e181 Merge branch 'featurebranch'
|\
| * bca198d (featurebranch) Modify the second file
| * fdc4e08 Add a different file
* | 5e0c25f Modify file yet again
* | 2426135 Modify file again
* | eb56b32 Modify file
|/
* c94a83e Add a file
* bfbfaaa Initial commit
我想要一行文字,如下所示:
* d667df5 (HEAD -> master) Modify merged file
* bca198d Modify the second file
* fdc4e08 Add a different file
* 5e0c25f Modify file yet again
* 2426135 Modify file again
* eb56b32 Modify file
* c94a83e Add a file
* bfbfaaa Initial commit
我想要这样做的原因是,我正在与另一个开发人员在一个特性分支上工作。当他拉取我的更改时,他反复使用了
git pull
(即创建合并提交),而不是使用变基。我希望在将其合并到主分支之前,这个特性分支的历史记录是线性的。注:我知道结果中的提交 ID 可能会有所不同。我也知道重写历史的所有常见后果。
更新:这不是这个问题的重复,因为我想保留分支中的单独提交,而不是将它们压缩成一个提交。