Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git合并冲突无法检测逻辑合并冲突/错误,对吗?_Git - Fatal编程技术网

Git合并冲突无法检测逻辑合并冲突/错误,对吗?

Git合并冲突无法检测逻辑合并冲突/错误,对吗?,git,Git,我看到当两个分支更改同一行代码时会发生冲突。所以我想有可能两个人编辑了同一个文件,却不知道对方的更改,因为更改不在同一行中,所以git在合并过程中给了它一个通行证,但可能引入了逻辑错误?是的。Git只是组织版本并帮助异步开发。它不会编译或测试您的代码。相反,您可以创建一些在提交之前运行的测试。自动合并不可靠;结果必须经过审查和测试 在许多情况下,通过检查,“很明显”这两个变化是完全不相关的 例如,串行UART驱动程序中某个循环中的一个或多个修复几乎肯定与USB堆栈中某个竞争条件的修复无关,因此您

我看到当两个分支更改同一行代码时会发生冲突。所以我想有可能两个人编辑了同一个文件,却不知道对方的更改,因为更改不在同一行中,所以git在合并过程中给了它一个通行证,但可能引入了逻辑错误?

是的。Git只是组织版本并帮助异步开发。它不会编译或测试您的代码。相反,您可以创建一些在提交之前运行的测试。

自动合并不可靠;结果必须经过审查和测试

在许多情况下,通过检查,“很明显”这两个变化是完全不相关的

例如,串行UART驱动程序中某个循环中的一个或多个修复几乎肯定与USB堆栈中某个竞争条件的修复无关,因此您不必为某种语义冲突而考虑这些修复

一般来说,自动合并是我们可以写一篇“不合理的有效性”文章的工具之一。

这是正确的

Git合并冲突是文本编辑冲突,无法确定合并版本中采用两个更改中的哪一个

代码含义/意图仍然可能存在逻辑上的“冲突”。Git无法理解这些编辑

两个开发人员独立工作的简单示例:

  • deva删除一个未使用的方法
  • devb在其他地方添加了相同方法的新用法

Git不编译/执行代码,并且不能仅仅通过文本代码合并就知道存在逻辑冲突。

Git不理解您的代码。是的,这是可能的。