我对git很新,并且有以下问题:
我在我的私有分支中处理了一些大型代码文件,并对其进行了重构,因此大部分代码文件被移动到其他几个代码文件中。现在我试图通过“git merge --squash --no-commit mybranch”合并回master,但后来我试图提交它给了我一个错误:
错误:'foo'在索引中进行了更改 (使用--cached保存文件,或使用-f强制删除)
foo的状态被“修改”并“重命名为bar”,而bar是从foo使用的新文件。我怎么告诉git这不是重命名和提交?
答案 0 :(得分:3)
更改rename threshold on the merge to 100% (or something really high):
git merge -X rename-threshold=100 <branch>
然后,如果两个文件100%相同, git merge
将仅检测此特定合并的重命名。这是一个一次性的合并策略论证,所以你不必担心它是一个永久性的设置。