- 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 命令可以帮助您了解已进行哪些更改,哪些需要暂存或提交,以及存储库的总体状态。