
- Git 入門
- Git - 首頁
- Git - 版本控制
- Git - 基本概念
- Git - 命令列
- Git - 安裝
- Git - 首次設定
- Git - 基本命令
- Git - 獲取幫助
- Git - 工具
- Git - 速查表
- Git - 術語
- Git 分支
- Git - 簡述分支
- Git - 建立新分支
- Git - 切換分支
- Git - 分支和合並
- Git - 合併衝突
- Git - 管理分支
- Git - 分支工作流程
- Git - 遠端分支
- Git - 跟蹤分支
- Git - 變基
- Git - 變基與合併
- Git - 合併提交
- Git 操作
- Git - 克隆操作
- Git - 打標籤操作
- Git - 別名操作
- Git - 提交操作
- Git - 暫存操作
- Git - 移動操作
- Git - 重新命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - 修補操作
- Git - 差異操作
- Git - 狀態操作
- Git - 日誌操作
- Git - HEAD 操作
- Git - origin master
- Git 撤銷
- Git - 撤銷更改
- Git - 檢出
- Git - 還原
- Git - 重置
- Git - 恢復操作
- Git - Rm
- Git - 切換操作
- Git - Cherry-pick
- Git - 修訂
- 伺服器上的 Git
- Git - 本地協議
- Git - 智慧 HTTP 協議
- Git - 啞 HTTP 協議
- Git - SSH 協議
- Git - Git 協議
- Git - 在伺服器上獲取 Git
- Git - 設定伺服器
- Git - 守護程序
- Git - GitWeb
- Git - GitLab
- Git - 第三方託管選項
- 分散式 Git
- Git - 分散式工作流程
- Git - 為專案做貢獻
- Git - 維護專案
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 --cached 和 git 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 命令可以幫助您瞭解已進行哪些更改,哪些需要暫存或提交,以及儲存庫的總體狀態。