【问题标题】:When should I use git add?我什么时候应该使用 git add?
【发布时间】:2011-04-10 01:37:27
【问题描述】:

我发现自己每次在提交之前都在使用它。这样对吗?如果是的话,应该是同一个命令……

【问题讨论】:

    标签: git


    【解决方案1】:

    git commit -a 类似于 git add -u -- 它会添加所有已修改的文件,但不会添加未跟踪的文件,而 git add . 会添加已跟踪和未跟踪的文件(不包括删除),前提是它们包含修改。

    Difference between "git add -A" and "git add ."

    但是是的,在大多数工作流程中,您要么在 git commit 之前使用 git add,要么主要使用 git commit -a

    【讨论】:

      【解决方案2】:

      git add 可让您分段提交提交。如果您以适当大小的块提交,这并不总是必要的,但有时这是不可避免的。

      它还可以预览提交。当您使用git add 时,这些文件将签入您的本地索引,该索引与您的工作目录是分开的。例如,当您随后使用gitk --all 时,您的索引将显示为任何其他提交节点,并且您可以在将其实际提交到分支之前,像普通提交一样查看所有更改的效果。

      我觉得非常有用的是git add -i,它进入了交互模式。您也可以使用git commit --interactive。在这里,您可以逐个选择要添加的文件(甚至要添加对文件的哪些更改),检查每个文件的差异。

      如果您不想单独使用这些命令,则没有理由,但是保持命令彼此独立肯定是有好处的,因为它们做不同的事情,而且有些人喜欢能够在不提交的情况下修改他们的工作索引.

      【讨论】:

        【解决方案3】:

        在您添加文件或解决冲突时使用它。如果您只是更改文件、删除文件或类似性质的事情,则不需要使用它。

        【讨论】:

          【解决方案4】:

          当我认为文件已准备好提交时,我使用git add,即使我知道要等到一段时间后才会提交。除此之外,git diff 报告索引(暂存区)中的内容与工作目录中的内容之间的差异。添加文件后,在再次修改之前不会看到其中的差异。因此,如果我有许多文件,我将它们零碎地添加到索引中,最后在所有更改的文件都准备好时提交。因此,我很少实际使用git commit -a。不过,各有各的。这两种方法都有效,git 很友好,不会强迫任何人按照自己想要的方式工作(在限制范围内)——相反,它可以让你按照自己想要的方式工作。

          【讨论】:

            【解决方案5】:

            仅当您有不在源代码管理中的新文件时才使用 git add。否则,只需在使用 git commit 时善用 -a 开关即可。

            【讨论】:

            • 我不会投反对票,但我认为这是一个可怕的建议。 git 的一大特色是索引/暂存区。我建议好好利用它。
            • @camh:除非您不需要或不想要暂存区。当我需要它时它是必不可少的,但绝大多数时候我只是想提交。 @Chris 的建议很好。
            猜你喜欢
            • 2014-08-11
            • 2011-01-29
            • 1970-01-01
            • 1970-01-01
            • 2021-09-07
            • 2021-04-26
            • 2012-09-22
            • 1970-01-01
            • 2012-12-23
            相关资源
            最近更新 更多