Git 中处理树冲突的最佳方法是什么?

What is the best way to handle tree conflicts in Git?

我正在遵循 git-flow 工作流模型进行版本控制。当我在一个功能分支工作时,其他人合并了另一个功能分支以开发包含项目树更改的分支。现在我的功能分支中的项目结构与开发分支的结构不同(例如:在我的功能分支中,我正在处理位于

的文件

"com.translators.components"

。但是在开发分支中,文件位于

"modules.com.translators.components"

)。当我从 develop 分支中拉取时,git 显示了大量的冲突,因为许多文件位置已被更改。

由于项目结构发生变化,自动合并难度很大。你必须自己手动合并。以下命令会有所帮助。

1) 您可以 运行 git fetch 检索远程修改而无需合并到本地工作树。

2) 命令 git checkout master -- component.java 会将文件从其他分支复制到您的工作树。

3) git diff branchA:branchB --name-status 将显示两个分支之间状态的文件名列表。

然后重新组织您的本地工作树以手动跟踪远程修改。