我们正在修复我们的存储库问题,为一些文件添加了不同的路径 - 路径中的第一个文件夹是一组文件的“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”合并策略,文件将被正确标记为“两者都重命名”,但我们不会丢失文件历史记录(根据我们的git guru关心)。
以下是一个问题:
如何通过git命令(与github提交历史记录相同)查看文件的真实历史记录,显示该文件已重命名?
为什么合并默认的“递归”策略认为此文件未重命名但在分支中删除?
如果我们使用解析策略会丢失文件历史记录吗?
P.S。 Repo是私有的,所以我无法给出链接,抱歉。
答案 0 :(得分:1)
那是一个古老的,但关于:
如何使用git命令查看文件的真实历史记录(与github提交历史记录相同),以显示该文件已重命名?
git log
有一个--follow
选项:
-按照-继续列出文件历史,而不是重命名(仅适用于单个文件)。