[英]What's the difference between `git add .` and `git add -u`?
我假設兩者都以相同的方式工作。 兩者都將每個文件添加到索引中。 但我好像錯了。
git add .
什么區別git add .
和git add -u
? 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 add <path>
現在與“git add -A <path>
”相同,因此“git add dir/
”會注意到您從目錄中刪除的路徑並記錄刪除。
在舊版本的 Git 中,“git add <path>
”用於忽略刪除。如果您真的想要,您可以說“
git add --ignore-removal <path>
”以僅在<path>
添加添加或修改的路徑。
警告( git1.8.3 April 2013,對於即將推出的 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
”(沒有路徑規范)更新索引的人來說很重要當前子目錄開始訓練他們的手指明確地說“git add -u .
當他們在 Git 2.0 出現之前的意思時。
正如我在“ e ”中提到的
就像手冊上說的: git add .
將添加當前目錄中的所有文件,而git add -u .
只會添加那些已經被跟蹤的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.