为什么git默认在合并后提交?

为什么git默认在合并后提交?,git,merge,Git,Merge,我对这种行为很好奇,可能是因为我主要使用SVN和bazaar。(我正在学习git与优秀的github接口。) 对我来说,这似乎是违反直觉的,似乎这对我来说会更好 git合并[分支]--不提交 默认情况下,鼓励人们在提交之前确保合并按他们希望的方式进行。Linus Torvalds在创建Git时设定的目标是使所有可以自动解决的合并快速。看他的 即在不到几秒钟的时间内进行数百次合并 因此,默认情况下,“--no commit”几乎无法达到这一目的 使用--no commit执行合并,但假装合并失败,

我对这种行为很好奇,可能是因为我主要使用SVN和bazaar。(我正在学习git与优秀的github接口。)

对我来说,这似乎是违反直觉的,似乎这对我来说会更好

git合并[分支]--不提交


默认情况下,鼓励人们在提交之前确保合并按他们希望的方式进行。

Linus Torvalds在创建Git时设定的目标是使所有可以自动解决的合并快速。看他的
即在不到几秒钟的时间内进行数百次合并

因此,默认情况下,“
--no commit
”几乎无法达到这一目的

使用
--no commit
执行合并,但假装合并失败,不自动提交,以便用户在提交前有机会检查并进一步调整合并结果

摘录自:

唯一重要的是合并的速度有多快
在git中,您可以合并。。。我每天会合并22000个文件几次,如果合并需要5秒以上,我会感到不高兴,而这5秒只是下载了所有的差异,不是差异,而是两棵树之间的增量,合并本身只需要不到半秒。
我不必去想它。
[…]这种表现实际上改变了你的工作方式


啊,好吧,那么基本上,假设你正在合并你想做的事情,并且你想尽快完成它?@Will:是的,但不要忘记另一个工作流:在合并之前重新确定工作的基础(这将导致快速合并:)顺便说一下,你在这个答案中引用的演讲视频,如果出现问题,git merge将以冲突告终。此外,如果出于特定原因,您希望看到合并引入的更改未被限制,您可以在成功的“git merge”之后立即执行“git reset HEAD^”,这将返回到一次提交,而保留所有最后的提交更改(这将是一次合并提交)未被限制。