为什么默认情况下合并后git会提交?

我很好奇这种行为,也许只是因为我主要来自SVN和集市。 (我正在学习git与优秀的github进行交互。)

这对我来说似乎不直观,好像它会更好

git merge [branch] --no-commit

默认情况下,鼓励人们确保合并按照他们所需的方式进行,然后再提交。


Linus Torvalds在创建Git时设定的目标是让所有可以自动解决的合并...... FAST 。 查看他的2007 Google技术讲座:Linus Torvalds on Git(成绩单)
即在不到几秒的时间内完成数百次合并。

所以默认情况下“ --no-commit ”几乎可以击败这个目的。

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

从Linus的演讲中摘录(视频):

唯一重要的是你可以合并多快
在git中,你可以合并......我每天合并多达22,000个文件,如果一个合并需要超过5秒钟,我会感到不快,所有这5秒只是下载所有的差异,而不是差异,但它的差异两棵树之间的三角洲,合并本身不到半秒钟。
我不必考虑它。
[...]这种表现实际上改变了你的工作方式。

链接地址: http://www.djcxy.com/p/49271.html

上一篇: Why does git commit after a merge by default?

下一篇: Correct Git workflow for shared feature branch?