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

时间:2011-03-02 07:05:56

标签: git merge

我对这种行为感到好奇,也许这只是因为我主要来自使用SVN和集市。 (我正在学习git与优秀的github接口。)

这对我来说似乎有点直观,好像对

更好

git merge [branch] --no-commit

是默认设置,鼓励人们在提交之前确保合并按照他们想要的方式进行。

1 个答案:

答案 0 :(得分:27)

Linus Torvalds在创建Git时设定的目标是使所有可以自动解决的合并...... FAST 。见他的2007 Google Tech Talk: Linus Torvalds on Git (transcript)
即在不到几秒钟内完成数百次合并。

默认情况下,“--no-commit”几乎会失败。

  

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

摘自Linus's talk (video)

  

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