1. 程式人生 > >git add詳解

git add詳解

git reset 工作 合集 git 兩個 tool stat nbsp 方便

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 add詳解