Git 狀態



git status 命令顯示工作目錄的狀態。

git status 的輸出顯示 HEAD 在任何給定時間的位置(在分支提交上)。它提供以下資訊

  • 未跟蹤檔案 - 顯示 Git 未跟蹤但位於工作目錄中的檔案。

  • 待提交的更改 - git status 命令顯示更改是否已透過暫存(新增到索引)準備用於即將到來的提交。

  • 未暫存的更改 - 對已修改但尚未暫存的檔案所做的更改。

  • 它提供有關當前本地分支與其遠端等效分支之間關係的資訊,包括領先或落後多少。

  • 分支資訊 - git status 命令顯示當前分支及其跟蹤狀態。

  • 顯示衝突 - 當存在合併衝突時,git status 命令會顯示哪些檔案存在衝突。

  • 路徑差異 - git status 顯示當前 HEAD 提交和索引檔案之間不同的路徑。

  • 它顯示索引檔案和工作樹之間存在差異的路徑,表示可以使用 git add 暫存的更改。

  • 此外,只要它們未被 .gitignore 忽略或 Git 跟蹤,該命令就會顯示可以使用 git add 新增,然後暫存和提交的工作樹路徑。

語法

以下是 git status 命令的語法

git status

選項

git status 命令具有以下選項

簡短輸出

Git 的 -s--short 選項更改某些命令(如 git status)的輸出,以提供簡短的、截斷的格式,以壓縮的方式突出顯示重要資訊。

git status -s

git status --short

分支資訊

Git 的 -b--branch 選項透過新增有關活動分支及其跟蹤狀態的詳細資訊來改進簡短格式的輸出,從而為簡潔的顯示新增更多上下文。

git status -b

git status --branch

瓷器輸出

Git 提供了對使用者友好的命令和輸出,這些命令和輸出專為終端使用者設計。git status --porcelain 命令提供簡潔易於解析的輸出。

git status --porcelain

顯示暫存的更改

Git --show-stash 選項顯示當前儲存在儲存區中的條目數量,顯示有多少組更改已暫時儲存。

git status --show-stash

長輸出

當在 Git 中使用 --long 選項執行命令時,它會自動生成詳細且描述性的輸出。

git status --long

詳細輸出

Git 的 -v--verbose 選項顯示已編輯並準備提交的檔名,以及暫存的文字更改。

當使用兩次(-vv)時,它還會顯示工作樹中尚未暫存的更改,類似於 git diff --cachedgit diff 的輸出。

git status --v

git status --verbose

控制未跟蹤檔案顯示

可以使用 --untracked-files 選項控制未跟蹤檔案。可以使用該命令的不同模式如下

no - 不會顯示任何未跟蹤的檔案。

git status --untracked-files=no

normal - 這是 --untracked-files 的預設模式。

git status --untracked-files=normal

all - 顯示所有未跟蹤的檔案。

git status --untracked-files=all

忽略子模組

--ignore-submodules[=<when>]

在檢查子模組中的更改時,可以選擇包含的詳細資訊級別。

選擇如下

  • none- 如果子模組包含未跟蹤或已更新的檔案,或者如果其 HEAD 偏離了父專案的已記錄提交,則認為它已更改。

  • untracked- 如果子模組僅包含未跟蹤的檔案,它仍然會檢查更新,但會忽略它們。

  • dirty- 僅顯示對父專案中註冊的提交的更新,忽略對子模組的工作樹所做的任何更改。

  • all- 保持輸出中的子模組摘要隱藏,並隱藏所有子模組修改。這是預設值。

git status --ignore-submodules=all

顯示忽略的檔案

--ignored[=<mode>]

可以使用 --ignored[=<mode>] 選項調整忽略檔案的顯示。可選 mode 引數的預設值為 traditional

我們可以使用的模式如下

  • traditional - 除非使用 --untracked-files=all,否則會顯示忽略的檔案和目錄。

    在這種情況下,會顯示忽略目錄內的忽略檔案。

  • no - 沒有檔案顯示為已忽略。

  • matching - 顯示與忽略模式匹配的忽略目錄和檔案。

    如果目錄匹配,則會顯示它,但如果其內容被忽略,則不會顯示。

  • 如果其所有內容都被忽略,即使目錄本身未被忽略,也會顯示目錄的內容。

git status --ignored

選項組合

可以同時使用多個選項,以便您可以根據需要自定義輸出。例如,您可以使用 -s-b 獲取包含分支資訊的簡短狀態。

git status -s -b

總而言之,git status 命令可以幫助您瞭解已進行哪些更改,哪些需要暫存或提交,以及儲存庫的總體狀態。

廣告