git - Git 的索引概念如何改进或改变您的工作流程?

标签 git workflow dvcs

近一个月来,我一直在尝试在我的个人项目中使用 Git。

我对基本命令集有很好的理解,虽然它的用户体验不是很好,但我仍然发现自己喜欢 Git 胜过我过去使用过的其他 VCS。

但是,我仍然认为自己没有“理解”的一个概念是索引的真正目的。我有这种感觉,我没有利用它打算赋予的一些好处。

设置暂存区的目的是什么?来自 SVN 领域,我习惯于将我的工作副本视为我的暂存区,并从中获取我的提交快照。

所以,我的问题是:

这种额外的间接级别为您带来了什么? Index 如何改进或改变了您的正常工作流程?您能否提供任何场景,在这些场景中,使用索引可以让您做一些没有它就很难做的事情?

最佳答案

肯定有这样的时候,当我开始处理一项功能或错误修复时,然后注意到一个快速的拼写错误或其他一些小的(可能是单行的)问题需要修复。我不必放弃我所有的工作,甚至使用 git stash,我可以通过索引提交那个只是那个微小的变化;我所有的其他工作仍然存在,但现在提交更加具体:它只显示那个小修复,而不是埋没在许多其他行的更改中。它是为了更清晰的历史记录而设计的,这使得搜索日志以查找更改变得容易,因为它们没有与其他提交混合在一起。

如果发生(复杂的、大的) merge 冲突,能够将我所做的每个更改添加到索引中也很好,这样我就知道我已经修复了哪些冲突以及哪些冲突需要处理。

关于git - Git 的索引概念如何改进或改变您的工作流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293634/

相关文章:

git - `git clone` 通过 HTTP 失败,返回 "repository not found"

git - 如何将某些文件推送到 Git 中的 origin/master?

用于版本控制的 vim 插件

version-control - Mercurial — 恢复到旧版本并从那里继续

android-activity - 调用进程 Activity 未在日志文件中记录任何错误

version-control - Mercurial:如果标签具有相同的名称,如何切换到命名分支?

linux - 寻找实现集中式 git 存储库......但有一个问题

git - checkout 命令中的上游模式有什么不同?

workflow - 从 Sitecore 工作流程向具有特定角色的所有用户发送电子邮件

workflow - 您将AgilePoint用作工作流/BPM引擎有什么经验?