2013-10-04 58 views
3

我的理解是,git add .會將目錄中的所有文件添加到存儲庫。使用「git add」。 (或濫用)

然後通常情況下,如果您編輯一個文件,您將git add file.name只是該文件將它帶到暫存區域。

我想知道在這個時候再次做git add .是否有什麼問題,要將所有已修改的文件添加到臨時區域?顯然,這對每個文件運行git add,即使那些沒有改變,這是不是很糟糕?我猜這不是問題,但想在這裏檢查。

當然,我也知道,我能做的git commit -a但我不知道這在技術上是一樣的做git add .其次git commit或者如果它是足夠聰明,只是add特定文件。

回答

0

我也知道,我能做的git commit -a,但我不知道這是 技術上一樣做其次git add .通過git commit或者 它是足夠聰明,只是添加特定文件。

git commit -agit add . ; git commit並不完全相同。

git help commit會告訴你:

-a, --all 
     Tell the command to automatically stage files that have been 
     modified and deleted, but new files you have not told git about are 
     not affected. 

這就是說,這兩個會表現如果您沒有添加新的文件相同的

重複做git add foo不會造成任何副作用。

0

git add .不會刪除自上次提交後刪除的任何文件。
如果你正在刪除文件,我會使用git rm,以便git獲知刪除的文件,並且你不會忘記確保git知道它被刪除了。正如另一條評論所述,git commit -a會注意到已被刪除的文件。

我建議你在git添加後建立一個git狀態。

我每次都用add .,但是看看你在這個添加中放入了什麼是一個好方法。對我來說,任何東西都是錯誤的git add .

唯一的是,如果你看到git狀態後,你不想推動你的某些文件只能選擇你想要聯機的文件。

後通常建議的一些代碼編輯,使一些文件一推,isnpt一個很好的方法,使一大推了很多文件,因爲如果你在團隊中工作的一些這些文件可以覆蓋Ø使一些合併您的分支內

2

git add .不刪除已刪除的文件,更具體,它是相同的:

git add --no-all . 

你可能想要的是隻更新更改的文件。

git add --update . 

在Git中2.0,git add .將改變當前的git add --all .,所以它會刪除已刪除的文件,並沒有出現之前添加的所有文件,所以你應該開始使用--update代替。