git status 文章目录1.简介2.格式3. 选项4. 示例4.1 完整格式输出4.2 短格式输出4.3 显示被忽略的文件5. 其他5.1 输出状态符号短格式5.2 常用别名设置6. 小结参考文献1.简介git status用于查看当前工作区Working Directory和暂存区Staging Area的状态。git status是 Git 中最常用的命令之一它能告诉你哪些文件被修改了、哪些文件被暂存了、哪些文件未被跟踪。2.格式gitstatus[options][--][pathspec…​]3. 选项-s,--short短格式输出更简洁-sb短格式 显示分支信息--ignored同时显示被 .gitignore 忽略的文件 -v,--verbose显示更详细的信息包括变更内容--porcelain机器可读的稳定输出格式适合脚本解析。类似于简短输出但会在不同 Git 版本之间保持稳定并且不受用户配置的影响。4. 示例4.1 完整格式输出$gitstatus On branch main Changes to be committed:(usegit restore --staged file...to unstage)modified: README.md new file: main.go Changes not stagedforcommit:(usegit add file...to update what will be committed)(usegit restore file...to discard changesinworking directory)modified: go.mod Untracked files:(usegit add file...to includeinwhat will be committed)utils/4.2 短格式输出$gitstatus-sM README.md A main.go M go.mod ?? utils/4.3 显示被忽略的文件$gitstatus--ignoredOn branch main... Ignored files:(usegit add -f file...to includeinwhat will be committed).idea/ node_modules/5. 其他5.1 输出状态符号短格式符号含义说明??未跟踪新文件从未被 Git 跟踪过A已暂存新增文件已被git add暂存区有新文件M已修改文件在工作区被修改但尚未暂存MM修改并暂存后又修改文件既有暂存的修改又有新的工作区修改D已删除文件被删除但尚未暂存R重命名文件被重命名C复制文件被复制AM已暂存后又修改与MM类似??未跟踪新文件未被 Git 跟踪5.2 常用别名设置# 设置全局别名gitconfig--globalalias.st statusgitconfig--globalalias.stsstatus -sgitconfig--globalalias.stsbstatus -sbgitconfig--globalalias.stistatus --ignored# 使用别名gitstgitstsgitstsbgitsti6. 小结需求命令说明详细状态git status新手友好信息完整简洁状态git status -s熟练用户输出紧凑查看分支简洁状态git status -sb兼顾分支信息和简洁输出查看被忽略的文件git status --ignored排查.gitignore问题机器可读格式git status --porcelain适合脚本自动化处理git status是你的 Git“仪表盘”随时告诉你工作区和暂存区发生了什么。养成提交前执行git status的习惯避免误提交或遗漏文件。参考文献Git - git-status Documentation