代码之家  ›  专栏  ›  技术社区  ›  mmcdole

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

  •  5
  • mmcdole  · 技术社区  · 15 年前

    我已经尝试在我的个人项目上使用Git将近一个月了。

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

    然而,我仍然认为我还没有“了解”到的一个概念是该指数的真正目的。我有一种感觉,我并没有利用它打算给予的某些好处。

    设立中转区的目的是什么?来自SVN land,我已经习惯于将我的工作副本视为我的暂存区,并将我的提交快照从此处获取。

    所以,我的问题是:

    这个额外的间接层次给了你什么?索引如何改进或改变了您的正常工作流程?你能提供一些场景吗?如果没有索引,你可以做一些很麻烦的事情?

    3 回复  |  直到 15 年前
        1
  •  7
  •   mipadi    15 年前

    肯定有很多时候,当我开始处理一个特性或一个bug修复,然后注意到一个快速的输入错误或其他一些微小的(也许只有一行)东西需要修复。而不是放弃我所有的工作,甚至使用 git stash ,我可以这样做 就那么一点点零钱 通过索引;我所有的其他工作仍然在那里,但现在提交更加具体:它只显示了一个小补丁,而不是埋没在其他几十行更改中。它提供了一个更清晰的历史记录,这使得在日志中搜索更改变得更容易,因为这些更改不会与其他提交混合在一起。

        2
  •  3
  •   AlBlue RACGAMERUP    15 年前

    就我个人而言,我目前正在经历一场大规模的合并冲突,我必须一个接一个地修复这些项目。在这种情况下,我可以对已合并的文件执行“git add”,并且仍然单独跟踪需要修复的文件。

    完成这些之后,我可以执行测试编译,然后在提交到存储库之前重新添加所需的任何其他更改。

        3
  •  1
  •   omnisis    15 年前

    当你正在编辑一大堆文件,但你决定在继续之前,你真的应该提交所有与X相关的文件,作为一个提交,所以你只需要阶段化这些文件,提交并继续处理其他文件。