Git不会跟踪重命名
我有一个文件dir1/some.class
。
我将其复制为dir2/some.class
并提交+推送。
几周后,我删除了dir1
版本。
我能否教Git像移动文件一样操作,而不是新建一个文件?
这样,我从其他分支合并到dir1/some.class
的所有更改实际上都会合并到dir2/some.class
中吗?
我尝试过:
git checkout mybranch
git config merge.renameLimit 100
git merge --no-ff -X rename-threshold=80 master
git config --unset merge.renameLimit
一些文件已经合并了,但有些没有。特别是我想要的一个git日志功能,可以查看过去
dir1/class
上发生的更改是否源自dir2/class
,但这并没有发生。实际上帮助我的是:
低重命名阈值(10%的相似度来考虑文件的重命名) 大的merge.renameLimit(在合并期间消耗大量内存)
git checkout mybranch
git config merge.renameLimit 999999
git merge --no-ff -X rename-threshold=10 -Xignore-space-change master
git config --unset merge.renameLimit
请参阅下面标记的答案。