首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >git的两阶段提交过程(分阶段)的好处是什么?

git的两阶段提交过程(分阶段)的好处是什么?
EN

Software Engineering用户
提问于 2011-04-18 08:46:04
回答 4查看 49.6K关注 0票数 182

我正在学习git,并且注意到它有一个两步提交过程:

  1. git add <files>
  2. git commit

第一步将修改放入所谓的“分阶段区域”或“索引”。

我感兴趣的是为什么做出这个设计决策,以及它的好处是什么?

而且,作为git用户,您是这样做的还是只使用git commit -a

我问这个问题,因为我来自bzr (Bazaar),它没有这个特性。

EN

回答 4

Software Engineering用户

回答已采纳

发布于 2011-04-18 09:38:46

将工作拆分为单独的提交。您可能已经多次打开一个文件来编写单行修复程序,但同时发现格式错误,一些文档可以改进,或者其他一些无关的修复。与其他RCSs一起,您将不得不将其写下来或提交到内存中,完成所需的修复,提交,然后返回修复其他内容(或者创建一个不相关的提交)。使用Git,您只需一次性修复所有这些,并分别使用stage+commit或git add -igit-gui对单行进行修复。

不要破坏建筑。你在做一个复杂的修改。所以你尝试不同的事情,其中一些比另一些更好,有些则破坏事物。使用Git,当修改使事情变得更好的时候,你就会把事情做好,而当修改不起作用时,就会出现checkout (或更多的修改)。您不需要依赖编辑器的撤销功能,您可以checkout整个回购,而不仅仅是逐个文件,任何文件级别的错误(比如删除未提交的文件或在错误修改后的saving+closing )都不会导致大量工作的丢失。

票数 83
EN

Software Engineering用户

发布于 2011-04-18 09:13:13

对我来说,其中一个好处是能够逐步“添加”文件。在提交之前,我检查每个文件。一旦文件被审查,我就添加它。当我使用git statusgit diff时,git只显示已经修改且尚未添加的文件。当我查看了所有的文件并添加了它们之后,我就可以提交了。

所以是的,我觉得集结地很有帮助。

不,我从不使用git commit -a。但是,我经常使用git add -u。这样,我仍然可以想象将要发生的事情。

票数 64
EN

Software Engineering用户

发布于 2011-04-18 16:14:48

好处很简单:它让您完全控制何时提交哪些文件。因此,您可以使用git add -p来控制要提交的行。

票数 22
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/69178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档