回答
它是git陷阱之一mentioned here(pre Git 2.0)。
git add .
只增加了什麼,沒有被刪除(如果跟蹤)。
git add .
git commit
git status
//hey! why didn't it commit my deletes?, Oh yeah, silly me
git add -u .
git commit --amend
git add -A
會照顧兩個步驟...
隨着Git 2.0, git add -A
is default。
git add <path>
是一樣的「git add -A <path>
」現在,讓 「git add dir/
」會發現你的路徑從目錄和 記錄去除去除。
在舊版本的Git中,「git add <path>
」用於忽略刪除。你可以說「
git add --ignore-removal <path>
」到 如果你真的想在<path>
上只添加添加或修改的路徑。
警告(git1.8.3 April 2013, for upcoming git2.0)。
我已經修改我的答案說git add -u .
,而不是git add -u
:
git add -u
將Git中2.0對整個樹操作的一致性「git commit -a
」等命令。
由於沒有任何機制可以使「git add -u
」的行爲與「git add -u .
」相同,因此對於習慣於「git add -u
」(無pathspec)的用戶來說,更新僅適用於當前子目錄中的路徑以開始訓練其路徑的用戶是 手指在Git 2.0到來之前明確表示「git add -u .
」。
正如我在 「e」
就像手冊說的那樣:git add .
會在當前目錄中添加所有文件,而git add -u .
只會添加那些已經被跟蹤的文件。
提到的'添加-u'也將上演刪除。 – 2010-02-03 07:56:31
只有當被刪除的文件被跟蹤時; – 2010-02-03 07:57:59
add -u是提交-a等效的一種(在它操作的文件中)。 – 2010-02-03 09:26:17
- 1. git add有什麼區別?和git add -A?
- 2. 「git add」和「git update-index」有什麼區別
- 3. 在git GUI中,Git add(ctrl + A)和Stage to Commit(ctrl + T)有什麼區別?
- 4. git add *(星號)vs git add。 (期)
- 5. 是在Git 2.x`git add .`和`git add -A`是否一樣?
- 6. MySQL中的「ADD KEY」和「ADD INDEX」有什麼區別?
- 7. git add和git commit之間的區別-a
- 8. git add之間的區別。和git commit -am「message」
- 9. `git add -p`有什麼選擇?
- 10. 獲取「git add -u」的預覽版?
- 11. git add。加入
- 12. git-stash和git-checkout有什麼區別?
- 13. file .git和directory .git有什麼區別?
- 14. 什麼是「git remote add ...」和「git push origin master」?
- 15. git add→git commit。這是正確的嗎?
- 16. 什麼時候應該使用rm,git rm,git rm --cached,git add
- 17. git add * .c命令做什麼?
- 18. 「git add」的相反命令是什麼?
- 19. 爲什麼git remote add不起作用?
- 20. 什麼時候應該使用git add?
- 21. 爲什麼「git add *」排除.gitignore?
- 22. 使用git add --patch
- 23. git add submodule of remote
- 24. svn「git add」替代?
- 25. git add不添加文件?
- 26. GIT - git-add錯誤(錯誤文件號)
- 27. 當用戶在「git add」和「git commit」之前做「git push」會發生什麼?
- 28. git環聊,當我運行'git add。'時
- 29. 撤消git add和git commit以及一種git push原點
- 30. 爲'git add remote ...'創建魚別名'
感謝您的回答和一個例子。 「嘿!」線真的幫助我。 – 2010-02-03 14:15:42
@TK:是的,Benjol(http://stackoverflow.com/users/11410/benjol)的例子是一個很好的例子。 – VonC 2010-02-03 14:18:28
看來我們不需要把'.'(pathspec)和Git 2.x結合起來。它在我測試時可以找到。 – 2015-07-24 03:26:52