1. 程式人生 > 程式設計 >git add -A 和 git add . 的區別詳解

git add -A 和 git add . 的區別詳解

git的分支與合併的兩種方法

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 add -A 和 git add . 的區別詳解

Git Version 2.x:

git add -A 和 git add . 的區別詳解

到此這篇關於git add -A 和 git add . 的區別詳解的文章就介紹到這了,更多相關git add -A 和 git add . 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!