git merge忽略合并分支上存在的已删除文件(重命名文件)

Ale*_*lex 7 git merge

我有树枝feature1master.
然后feature1我将文件重命名dir/file.txtdir2/file2.txt.
之后我改变了文件,master一周之后也改变了文件feature1.

我在整个项目中改变了40个文件.
当我尝试合并masterfeature1我使用低重命名阈值时.大多数文件都是正确自动合并的.提供了一些文件用于手动解决冲突.

但是一些具体文件既不会出现在merge自动合并的响应中,
也不会正确合并
.在正确的情况,我期待我可以解决的两个结果中的一个:
1.它不会检测重命名,只是将另一个添加dir/file.txtfeature1分支中.
它会检测重命名并让我手动解决冲突.

我查看时有很多变化
git difftool master:dir/file.txt feature1:dir2/file2.txt

因此我假设git识别重命名并决定保留我的版本而不通知我发生了什么.我该如何解决/调试呢?

这是我使用的命令

git config merge.renameLimit 9999999999
git merge --no-ff -Xrename-threshold=20 -Xignore-space-change master
Run Code Online (Sandbox Code Playgroud)

Upd1

在使用feature1分支时,我已删除了dir/file.txt.
也许git假定这个文件应该删除,因此忽略它的存在master.
重命名检测失败,尽管文件的相似性保持不变(levenshtein距离小于内容长度的2%)
另一个讨论建议"手动合并"将文件从分支复制到分支.

UPD2

正确解析了其他一些文件正确解析
CONFLICT (rename/delete): images/ab.gif deleted in master and renamed in HEAD. Version HEAD of cdn/img/ab.gif left in tree.
了已删除master并合并的文件feature1.feature1 合并时无法识别已删除(或移动)的文件.
建议吗?

Upd3

目前我正试图合并另一种方式.合并feature1master和查看正在添加和删除哪些文件.这样我就会将git fail列出的文件列表识别为重命名并采用手动合并.

Mic*_*ael 1

如果您要从存储库中删除文件 - git 正在跟踪此删除,并且合并在确定要做什么时会考虑这一点。

这可能不是您所要做的全部,但它是其中的一部分。您可以尝试再次使用 git 添加它们。