我什么时候应该使用git add?

时间:2010-09-09 03:21:36

标签: git

我发现自己每次提交之前都会使用它。这样对吗?如果是这样,它应该是相同的命令......

5 个答案:

答案 0 :(得分:8)

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

请参阅Difference between "git add -A" and "git add ."

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

答案 1 :(得分:4)

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

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

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

如果你不愿意,没有理由独立使用命令,但是保持命令彼此独立是有好处的,因为它们做了不同的事情,有些人喜欢能够修改工作索引而不提交

答案 2 :(得分:1)

每次添加文件或解决冲突时都可以使用它。如果您只是更改文件,删除文件或具有这种性质的东西,则无需使用它。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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