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 checkout 命令詳解—— Git 學習筆記 16Git筆記
- git status 命令Git
- git reset 命令詳解(一)—— Git 學習筆記 07Git筆記
- git reset 命令詳解(二)—— Git 學習筆記 08Git筆記
- git學習筆記Git筆記
- git status命令詳解Git
- git命令總結Git
- git學習小總結Git
- Pro Git 學習筆記Git筆記
- git學習筆記 1Git筆記
- git學習筆記1Git筆記
- git rebase(變基)—— Git 學習筆記 19Git筆記
- Git 的特點—— Git 學習筆記 02Git筆記
- 取得 Git 倉庫 —— Git 學習筆記 04Git筆記
- 【Java學習筆記(五十三)】之Git簡介,Git常用命令Java筆記Git
- 常用git命令總結Git
- Git筆記-部分命令Git筆記
- git入門學習筆記Git筆記
- Git極簡學習筆記Git筆記
- git checkout 和 git reset 的區別 —— Git 學習筆記 09Git筆記
- git高階命令學習記錄Git
- Git實戰命令總結Git
- git cherry-pick 詳解 —— Git 學習筆記 18Git筆記
- 廖雪峰Git學習筆記1-Git簡介Git筆記
- 遠端倉庫與 fetch 命令——Git 學習筆記 20Git筆記
- 20190228 學習筆記——廖雪峰 git筆記Git
- Git 簡單使用學習筆記Git筆記
- Git和Maven的學習筆記GitMaven筆記
- Git學習3 --- Git命令列基本操作Git命令列
- Git 分支的建立與切換 —— Git 學習筆記 14Git筆記
- Git 的安裝與初次使用 —— Git 學習筆記 03Git筆記
- Git常用命令總結Git
- git 學習筆錄Git
- 撤銷操作 —— Git 學習筆記 12Git筆記
- Myth 關於Git的學習筆記Git筆記
- git checkout 對工作目錄的影響 —— Git 學習筆記 21Git筆記
- Git 的工作區、暫存區、版本庫—— Git 學習筆記 15Git筆記
- Git命令彙總Git