Git add
git add [參數] [--] <路徑> //作用就是將我們需要提交的代碼從工作區添加到暫存區,就是告訴git系統,我們要提交哪些文件,之后就可以使用git commit命令進行提交了。
為了方便下面都用 . 來標識路徑, . 表示當前目錄,路徑可以修改,下列操作的作用范圍都在版本庫之內。
1.1 git add .
不加參數默認為將修改操作的文件和未跟蹤新添加的文件添加到git系統的暫存區,注意不包括刪除
1.2 git add -u .
-u == --update ,表示將已跟蹤文件中的修改和刪除的文件添加到暫存區,不包括新增加的文件,注意這些被刪除的文件被加入到暫存區再被提交並推送到服務器的版本庫之后這個文件就會從git系統中消失了。
1.3 git add -A .
-A == --all , 表示將所有的已跟蹤的文件的修改與刪除和新增的未跟蹤的文件都添加到暫存區。
1.4 git add -i .
日常工作中了解前三個命令已足夠能滿足我們的使用需求了,但是了解一下這個交互式揀選操作也是不錯的。這個命令它也是作用於版本庫中已被跟蹤的文件中的執行過修改與刪除操作的文件。
git add -i
staged unstaged path
1: +0/-0 nothing Testfile
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
1.4.1、revert子命令
可以通過git add -i的revert子命令(3: [r]evert)把已經添加到索引庫中的文件從索引庫中剔除。
(3: revert)表示通過3或r或revert加回車執行該命令。執行該命令后,git會例出索引庫中的文件列表.
然后通過數字來選擇。輸入"1"表示git會例出索引庫中的文件列表中的第1個文件。
"1-15"表示git會例出索引庫中的文件列表中的第1個文件到第15個文件.回車將執行。
如果我們不輸入任何東西,直接回車,將結束revert子命令,返回git add -i的主命令行。
1.4.2 update子命令
可以通過update子命令(2: [u]pdate)把已經tracked的文件添加到索引庫中。其操作和revert子命令類似。
1.4.3 add untracked子命令
通過add untracked子命令(4: [a]dd untracked)可以把還沒被git管理的文件添加到索引庫中。其操作和revert子命令類似。
1.4.4 diff子命令
可以通過diff子命令(6: [d]iff)可以比較索引庫中文件和原版本的差異。其操作和revert子命令類似。
1.4.5 status子命令
status子命令(1: [s]tatus)功能上和git add -i相似
1.4.6 quit子命令
quit子命令(7: [q]uit)用於退出git add -i命令系統
1.5 git add -h
查看幫助,使用git add --help可以查看更詳細的內容