如何重写整个git历史(挤压和重写)而不会陷入冲突?

时间:2016-05-31 19:00:41

标签: git git-rebase git-rewrite-history git-squash

我正在处理具有大约5000次提交(包括合并)的代码库。我开始使用交互式rebase来压缩类似的提交并重写弱提交消息。在此之前,我删除了article之后的一些大文件。

然而,我从第7次提交和冲突开始就有冲突 通过提交进行更大的提交。有没有办法只做不会引起任何冲突变化的操作?

我使用命令:

git rebase FIRSTCOMMIT -i

1 个答案:

答案 0 :(得分:1)

如果我没有弄错的话,你通常不能轻易地改变这样的历史。根据您的具体情况,可能会有解决方法。例如,如果您有标记的主文件,则可以将每个标记之间的更改压缩为一个提交。类似的策略适用于连接Error:java.lang.RuntimeException: [path_to_manifest]/AndroidManifest.xml:58:13-67:29: Error: Invalid instruction 'targetApi', valid instructions are : REMOVE,REPLACE,STRICT Caused by: java.lang.IllegalArgumentException: No enum constant com.android.manifmerger.AttributeOperationType.TARGETAPI FIRSTCOMMIT的任何路径。