Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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_Merge - Fatal编程技术网

没有冲突的git合并会破坏应用程序功能吗?

没有冲突的git合并会破坏应用程序功能吗?,git,merge,Git,Merge,有几次,我将一个分支合并到我的分支中,密切关注并修复冲突,但我的应用程序的一些功能仍然被破坏。错误地试图解决冲突可能是我的错误,但在某些情况下,git可能没有引发冲突,但仍然以错误的方式合并文件吗 假设我有以下场景: 两个巨大的分支,差别很大。 分支的大多数测试都很常见,但也有一些不同。 我合并这些分支,它合并时没有冲突。 在某些情况下,某些测试可能在合并后被破坏吗?有时会发生这种情况。一个简单的例子是分支上是否有API更改。该分支上的所有调用都将针对新API进行调整。在另一个分支中,如何添加对

有几次,我将一个分支合并到我的分支中,密切关注并修复冲突,但我的应用程序的一些功能仍然被破坏。错误地试图解决冲突可能是我的错误,但在某些情况下,git可能没有引发冲突,但仍然以错误的方式合并文件吗

假设我有以下场景:

两个巨大的分支,差别很大。 分支的大多数测试都很常见,但也有一些不同。 我合并这些分支,它合并时没有冲突。
在某些情况下,某些测试可能在合并后被破坏吗?

有时会发生这种情况。一个简单的例子是分支上是否有API更改。该分支上的所有调用都将针对新API进行调整。在另一个分支中,如何添加对另一个分支上的调整函数/方法的新调用?如果合并这两个分支,则不太可能从API更改中得到冲突。。。。。但是代码可能会被破坏,因为新的调用仍然使用旧的API


如果您有一组惊人的单元/集成测试,那么在结束合并之前会检测到这个问题。说,我合并。我测试。。。。如果我发现有问题,我会修复它,修改合并版本,然后继续。

是的,解决冲突并不能保证逻辑的正确性,它只是让你决定哪些逻辑会被破坏,这就是为什么你应该针对单元测试和集成测试运行新的部署。实际上,我会用不同的措辞来表达这一点,这不是一个问题,而是一句话:令人惊讶的是git合并并没有破坏事物的频率。Git不智能;git merge遵循一些非常简单的文本规则,这些规则获取一个文件的三个版本,逐行比较这三个版本,并将生成的两个差异合并为一个差异,git可以将其应用于某个文件的合并基副本。谢谢您的回答!还有很多其他类似的例子,在合并之后,非冲突代码可能仍然会被破坏吗。。。。是否移动了文件并在另一个分支中将链接原始路径添加到该文件?好了。。。。另一个简单的例子:我相信还有其他的。