git add -a
和git add . git add -u在功能上看似很相近,但還是存在一點差別
git add . :他會監控工作區的狀態樹,使用它會把工作時的所有變化提交到暫存區,包括檔案內容修改(modified)以及新檔案(new),但不包括被刪除的檔案。
git add -u :他僅監控已經被add的檔案(即tracked file),他會將被修改的檔案提交到暫存區。add -u 不會提交新檔案(untracked file)。(git add --update的縮寫)
git add -a :是上面兩個功能的合集(git add --all的縮寫)
下面是具體操作例子,方便更好的理解(git version 1.x):
git init總結:echo change me > change-me
echo delete me > delete-me
git add change-me delete-me
git commit -m initial
echo ok >> change-me
rm delete-me
echo add me > add-me
git status
# changed but not updated:
# modified: change-me
# deleted: delete-me
# untracked files:
# add-me
git add .
git status
# changes to be committed:
# new
file: add-me
# modified: change-me
# changed but not updated:
# deleted: delete-me
git reset
git add -u
git status
# changes to be committed:
# modified: change-me
# deleted: delete-me
# untracked files:
# add-me
git reset
git add -a
git status
# changes to be committed:
# new
file: add-me
# modified: change-me
# deleted: delete-me
·git add -a 提交所有變化
·git add -u 提交被修改(modified)和被刪除(deleted)檔案,不包括新檔案(new)
·git add . 提交新檔案(new)和被修改(modified)檔案,不包括被刪除(deleted)檔案
git版本不同會有所區別:
git version 1.x:
git version 2.x:
**:
git add和被ignore的檔案
如果有如下的目錄結構 workspace tree hello.c d hello.o gitignore say.c say.o gitignore 在workspace tree的跟目錄下有3個檔案hello.c,hello.o,gitignore以及乙個資料夾d,其中根目錄下的.gitigno...
git add 和 git push 命令詳解
一 git add 命令 git add 該命令會監控工作區的狀態樹,使用它會把工作時的所有變化提交到暫存區,包括檔案內容修改 modified 以及新檔案 new 但不包括被刪除的檔案。git add u 該命令僅監控已經被add的檔案 即tracked file 他會將被修改或刪除的檔案提交 到...
git 撤銷已經git add的檔案
git add 操作時,有時會誤新增一些不想提交的檔案,如何解決?1 誤add單個檔案 git reset head 將file退回到unstage區 2 誤add多個檔案,只撤銷部分檔案 git reset head 將file退回到unstage區 git rm 與 git reset的區別 g...