假设我有这样的git历史记录:
A-B-C-D-E-F-G
B添加了60k文件。
F删除了相同的文件。
git log
现在,如果遍历git历史记录的任何操作(如果必须跨越F(或B)),则需要花费愚蠢的时间。
假设B和F相互抵消,是否有办法有效地将它们从历史记录中删除?
更重要的是:是否有一种简单的方法可以执行此操作,然后确保使用回购协议的其他开发人员也保持最新状态?(请记住,开发人员的机器上也有功能分支。)我怀疑所有解决方案都将最终导致A-C'-D'-E'-G'
...
我的直觉说,我最好的做法是从A创建一个分支,从C到E挑选樱桃,然后从G创建一个新分支,然后将其合并到第一个分支上。或者其他的东西。
只要做到git rebase -i A
和消除对B型和F线
,但正如你所说的(或意思),这将改写出版的历史,让所有的开发伙伴需要重订基关闭所有分公司受操纵的分支像的手册页中所述git rebase
下“如何从上游资源恢复中恢复”部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句