1)分支firstBranch
:
将/frontends/myfrontend/utils/myfile.js
重命名为/frontends/myfrontend/utils/myfile2.js
2)分支secondBranch
将/frontends/myfrontend
重命名为/frontends/myfrontend2
现在,我想将firstBranch
合并到secondBranch
中,同时保留两个重命名(因为一个重命名位于父目录中,另一个重命名于子文件中)。
重命名策略(find-renames
和rename-threshold
)仅用于识别已重命名的更改内容,但是我认为情况不同。内容是一样的,只是git不允许我通过应用两个重命名来解决合并。
我应该如何处理?我知道git对目录不了解,但是我认为这是一个真实的用例。
答案 0 :(得分:0)
当您将它们合并时,如果Git检测到从合并基础提交到secondBranch
和的尖端提交的所有重命名,则(单个)重命名从合并基础变为firstBranch
的提示中,您会遇到重命名/重命名冲突。
在适当地完成了所有重命名和组合的 rest 后,合并将停止。您的工作是完成事情。只需完成一件事,至少从此特定冲突中即可:您必须为此文件选择所需的名称。
以所需的名称写入所需的文件内容-这可能需要使用mv
重命名工作树中的文件,和/或如果内容不是您想要的内容,则编辑该文件-然后使用git add
和git rm
根据需要/适合于更新Git的索引,以便以所需的名称存储可能更新的文件。现在,您已经解决了重命名/重命名冲突。
也解决所有其他冲突,以便解决所有冲突,并且Git的索引包含您想要作为合并结果的快照。然后运行:
git merge --continue
完成合并。