Git – 整理回购

我把我的回购变成了一个状态,希望能够以自己的方式解决问题

回购看起来有点像这样(A1,B1,C1等显然是提交)

                  A1 ---- A2 ---- A3 ---- A4 ---- A5 ---- A6 ---- A7 ---- A8
                                                                  /
(from a remote repo)  B1 ---- B2 ---------------------------------  
                              | \
                              \  C1 ---------------------------------C2 
                               \                                     /
                                D1 --- D2 --- D3 --- D4 --- D5 --- D6

理想情况下,我希望能够删除B,C和D行上的所有修订(使用rebase?)(我厌恶说分支只是因为这些行上现在没有本地分支,除了ref分支到远程repo)并尝试再次合并远程仓库,也许以更好的方式.

我很感激有关如何摆脱所有这些提交的任何建议.请问任何答案都使用修订版SHA1而不是分支名称.我以为我能够以某种方式将合并恢复到A7,但不能完全弄清楚如何做到这一点

我希望这是足够的信息.很多thx

西蒙

最佳答案 通过整洁,我会假设你的意思是线性化你的变化.

你应该可以这样做:

git rebase A B
git rebase 'A C
git rebase ''A D

B C和D表示参与变基的提交/参考.实际上将A B C和/或D传递给rebase可能什么都不做.你应该做这样的事情:

git rebase master branchname

这有帮助吗?

点赞