2010-09-09 292 views

回答

8

git commit -a這是git add -u - 它增加了所有修改過的文件,但它並沒有git add .,增加了被跟蹤和未跟蹤文件(不包括刪除)添加未跟蹤文件,與此相反,只要它們含有修改。

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

但是,是的,在大多數的工作流程,你要麼git addgit commit之前,否則你將主要使用git commit -a

1

任何時候添加文件或解決衝突時使用它。如果您只是更改文件,刪除文件或具有這種性質的內容,則無需使用它。

0

只有當您有新的文件不在源代碼管理中時才使用git add。否則,只要在使用git commit時充分利用-a開關即可。

+1

我不會downvote,但我認爲這是可怕的建議。 git的一個重要功能是索引/暫存區域。我會建議善加利用。 – camh 2010-09-09 13:15:14

+0

@camh:除非你不需要或不需要暫存區。當我需要它的時候,它是不可或缺的,但絕大多數時候我只是想要承諾。 @克里斯的建議很好。 – kubi 2010-09-10 20:35:40

1

我使用git add當我認爲文件已準備好提交時,即使我知道我會在稍後的一段時間內提交提交。除此之外,git diff報告索引(暫存區)中的內容與工作目錄中的內容之間的差異。一旦你添加了一個文件,在你修改它之前你沒有看到它的差異。因此,如果我有大量文件,我將它們添加到索引中,最後在所有更改的文件準備就緒時進行。因此,我很少使用git commit -a。但是,每一個都是屬於自己的。這兩種方法都可以工作,並且git非常友善,不會強迫任何人以自己想要的方式工作(在限制範圍內) - 相反,它可以讓您以您想要的方式工作。

4

git add可讓您逐段完成提交。如果你的尺寸合適,但有時不可避免,這並不總是必要的。

它還可以預覽提交。當您使用git add時,這些文件將被簽入到您的本地索引中,該索引與您的工作目錄是分開的。例如,當您使用gitk --all時,您的索引將顯示爲任何其他提交節點,您可以在實際將其提交到分支之前像正常提交一樣查看所有更改的效果。

我覺得非常有用的是git add -i,它進入了交互模式。您也可以使用。在這裏,您可以選擇要添加哪些文件(甚至是對要添加的文件進行哪些更改),檢查每個文件的差異。

如果你不想要,沒有理由獨立使用這些命令,但是由於它們做了不同的事情並且有些人喜歡能夠修改其工作索引犯。

相關問題