以前,我在分支时犯了一个错误,没有使用git-mv,现在我有一个合并分支的问题。
在git-合并之后,当我运行git-状态时,我得到:
....
deleted: __init__.py
deleted: __main__.py
deleted: config.py
....
new file: mose/__init__.py
new file: mose/__main__.py
new file: mose/config.py
new file: mose/elliptic_fibration.py
....
deleted by them: elliptic_fibration.py但我希望将同名文件标记为“renamed.”有办法做到这一点吗?
====
为了详细说明我的情况:
我希望它们被认为是“重命名”的原因是因为我的合作者希望当他们将分支合并到主分支时,对不同分支中的文件所做的更改能够被正确地合并。
如果我在将分支合并到主分支时调整合并阈值,使文件看起来被“重命名”,那么当我的协作者试图在不做任何额外工作的情况下完成合并时,它是否会像我预期的那样工作呢?
发布于 2015-03-13 22:36:33
Git实际上并不跟踪已移动的文件;它只是检测是否有一个删除的文件和一个具有相同或类似内容的新文件,并且将其作为重命名来处理。这些命令有几个选项可以确定文件需要有多相似才能被视为彼此的重命名(以及它看起来有多难),例如-M查找重命名、-C查找副本和--find-copies-harder。
您不一定会在git status中看到这一点,但是如果您查看git diff --stat -M (或者可能是git diff --stat --cached -M),它应该会显示出来。
在进行合并时,它还将尝试检测重命名,并根据重命名进行智能合并,但您可以通过传递-Xrename-threshold=<n>选项来调整此行为,以设置一个不同的阈值,以确定在考虑重命名之前类似文件的大小。
https://stackoverflow.com/questions/29043063
复制相似问题