git status 命令總結 —— Git 學習筆記 06
當執行 git status
的時候,返回結果大致可分為3個部分:
- 擬提交的變更:這是已經放入暫存區,準備使用 git commit 命令提交的變更
- 未暫存的變更:這是工作目錄和暫存區快照之間存在差異的檔案列表
- 未跟蹤的檔案:這類檔案對於 Git 系統來說是未知的,也是可以被忽略的
如果在 git status
命令後面加上 --ignored
選項,還會列出被忽略的檔案。
例如:
$ git status --ignored
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working\
directory)
Untracked files:
(use "git add <file>..." to include in what will be committed)
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
還有一種簡潔的輸出格式,即新增 --short
選項,例如
$ git status --short
D apple.c
M hello.c
A world.c
AD world_bak.c
?? 123.txt
git status --short
也可以簡單寫成 git status -s
。
這種輸出每一行的格式是
XY PATH1 -> PATH2
PATH1
表示最近一次提交的檔案, -> PATH2
表示索引或工作目錄中檔案,當檔案路徑改變時才會有 -> PATH2
這一項。
X
和Y
都是狀態碼,X
表示暫存區和最近一次提交的差異,Y
表示工作目錄和暫存區的差異。
其含義是:
- ’ ’ = unmodified
- M = modified
- A = added
- D = deleted
- R = renamed
- C = copied
- U = updated but unmerged
預設不會列出被忽略的檔案,除非使用 --ignored
選項。
X
和Y
可能的組合如下表(方括號裡面的可以沒有):
X Y Meaning
-------------------------------------------------
not updated
M [ MD] updated in index
A [ MD] added to index
D deleted from index
R [ MD] renamed in index
C [ MD] copied in index
[MARC] index and work tree matches
[ MARC] M work tree changed since index
[ MARC] D deleted in work tree
[ D] R renamed in work tree
[ D] C copied in work tree
-------------------------------------------------
D D unmerged, both deleted
A U unmerged, added by us
U D unmerged, deleted by them
U A unmerged, added by them
D U unmerged, deleted by us
A A unmerged, both added
U U unmerged, both modified
-------------------------------------------------
? ? untracked
! ! ignored
-------------------------------------------------
參考資料
【1】https://git-scm.com/docs/git-status
【2】《Git 高手之路》,人民郵電出版社
相關文章
- Git命令學習筆記Git筆記
- git常用命令-Git學習筆記Git筆記
- git checkout 命令詳解—— Git 學習筆記 16Git筆記
- git status 命令Git
- git reset 命令詳解(二)—— Git 學習筆記 08Git筆記
- git reset 命令詳解(一)—— Git 學習筆記 07Git筆記
- GIT學習筆記一git initGit筆記
- git學習筆記Git筆記
- git學習小總結Git
- git學習心得總結Git
- git命令總結Git
- Pro Git 學習筆記Git筆記
- Git的學習筆記Git筆記
- git學習筆記5Git筆記
- git學習筆記6Git筆記
- git學習筆記(一)Git筆記
- git學習筆記(二)Git筆記
- Git—學習筆記1Git筆記
- git學習筆記 1Git筆記
- git學習筆記1Git筆記
- git status命令詳解Git
- Git 的特點—— Git 學習筆記 02Git筆記
- 取得 Git 倉庫 —— Git 學習筆記 04Git筆記
- git rebase(變基)—— Git 學習筆記 19Git筆記
- 【Java學習筆記(五十三)】之Git簡介,Git常用命令Java筆記Git
- Git極簡學習筆記Git筆記
- git入門學習筆記Git筆記
- Git進階學習筆記Git筆記
- git 和 vim 學習筆記Git筆記
- 常用git命令總結Git
- 常用 Git 命令總結Git
- git checkout 和 git reset 的區別 —— Git 學習筆記 09Git筆記
- Git筆記-部分命令Git筆記
- git高階命令學習記錄Git
- git cherry-pick 詳解 —— Git 學習筆記 18Git筆記
- 廖雪峰Git學習筆記1-Git簡介Git筆記
- Git 簡單使用學習筆記Git筆記
- Git和Maven的學習筆記GitMaven筆記