Git Mergetool-为什么git不能自动处理当前修改和当前修改相同的情况

332nm8kg  于 2022-11-27  发布在  Git
关注(0)|答案(1)|浏览(138)

我在vscode上使用git mergetool时遇到问题。我在一个feature/分支上,试图合并来自develop的更新。(这是一个react原生项目,我正在尝试合并develop分支,该分支将代码库更改为typescript,并使用prettier重新格式化代码)
问题是传入的(develop)和当前的(feature/)有完全相同的变化,如下面最上面的两个红色框所示。虽然公共父节点不同,但既然传入的和当前的提交是相同的,git难道不应该在合并时自动解决这个问题吗?
我已经厌倦了处理传入和当前相同的冲突。我想知道我是否只是错误地使用了git,或者这是正常的。任何见解或建议都是感激的。这可能是一个新手问题,但我在网上找不到答案。谢谢。
VSCode Git MergeTool Screenshot
我尝试过:我运行了我在develop分支上使用的更漂亮的格式化程序,希望我会有更少的冲突。它确实将有冲突的文件数量减少了一半,但我仍然看到了冲突,如图所示,即使传入的和当前的都是一样的。

bvjxkvbb

bvjxkvbb1#

这是一个公平的问题,但这只是Git自动合并的工作方式。一旦Git确定合并的两翼都对目标文件的同一区域有贡献,它就停止考虑这个问题:这是一个冲突。它不会继续询问“第二个”关于发生了什么的问题,即对目标文件的同一区域的两个贡献是否彼此“相同”。
你可以重新编写Git的合并行为,但这可能比你真正想做的要多。
我厌倦了处理传入和当前都相同的冲突
正如前面已经提到的,如果这种情况经常发生,那么您可能使用了不正确的merge(实际上,听起来您使用的不正确的是“漂亮的格式化程序”)。但是,如果没有进一步的信息,就不可能说得更多--无论如何,这不是您要问的问题。

相关问题