我们正在解决仓库问题,有些文件路径的大小写不同 - 对于一组文件,路径的第一个文件夹是 "Application",而对于另一组文件,路径的第一个文件夹是 "application"。为了解决这个问题,我们将所有文件的名称改为大写的 "Application",并重新克隆整个仓库。
当我们尝试将一个分支合并到另一个分支时,我们会发现许多文件出现以下情况:
CONFLICT (rename/delete):
Applications/Views/sell.cshtml deleted in HEAD and renamed in feature123_branch.
Version feature123_branch of Applications/Views/sell.cshtml left in tree.
Mergetool提供了一个选项,可以在使用重命名的文件时删除该文件。
但是这个文件只是在HEAD和feature123_branch中被重命名,例如github.com
显示:
file renamed from {applications/ → Applications/}/Views/sell.cshtml for all commits.
我们可以使用“resolve”合并策略并正确标记文件为“both renamed”,但是我们不想丢失文件历史记录(根据我们的Git专家的建议)。
以下是一个问题:
如何使用Git命令查看文件的真实历史记录(与Github提交历史记录相同),显示文件已更名?
为什么使用默认的“递归”合并策略认为该文件在分支中被删除而不是重命名?
如果我们使用"resolve"策略,那么文件历史记录会丢失吗? p.s. Repo是私有的,所以我不能提供链接,抱歉。
Applications
目录下有多少个版本化的文件?使用命令git ls-files Applications | wc -l
可以得到数量。 - John Szakmeister