git文件的四种状态

git status 查看文件状态命令

命令:git status [<选项>...]

[]表示可选,...表示可以有很多项,可选参数有:

  1. -s 精简输出
  2. -b 显示分支信息
  3. -v 显示变更的文本内容

文件的四种状态

  • Untracked: 未跟踪的文件, 该文件在文件夹中, 但是没有加入到本地仓库, 不参与版本控制。
    可以通过git add <file>... 状态变为Staged

  • Unmodify: 文件已经加入到本地仓库,没有被修改过
    如果它被修改, 会变为Modified
    image

    如果使用git rm --cached <file>移出版本库, 则成为Untracked文件
    image

  • Modified: 文件已修改,并没有进行其他的操作【此时显示为红色的Modified】。
    image
    使用git restore <file>放弃工作区的修改,将使用本地仓库中的文件覆盖工作区的,文件将变为Unmodify状态。
    image

    使用git add <file>将文件添加到暂存区,此时文件为Staged状态【显示为绿色的Modified
    image

    git restore --staged <file>将文件移出暂存区,此时文件变为Modified状态
    image

  • Staged: 暂存状态【此时显示为绿色的Modified
    image

    执行git commit <file>则将修改同步到本地库中, 文件为Unmodify状态
    执行git restore --staged <file>取消暂存, 文件状态为Modified

git status

image

git status -s

加上-s选项,可以精简输出文件状态
image

' ' (空格)表示文件未发生更改
M 表示文件发生改动。
A 表示新增文件。
D 表示删除文件。
R 表示重命名。
C 表示复制。
U 表示更新但未合并。
? 表示未跟踪文件。
! 表示忽略文件。

未跟踪和忽略文件会显示相同的两列,如 ??。

git status -b

显示分支与跟踪信息
image

-s选项配合使用
image

git status -v

只有一个 -v 选项时,显示版本库暂存区之间比较发生变更的内容。
而有两个 -v 选项时,显示暂存区工作区之间比较发生变更的内容。

posted @   Ewar-k  阅读(241)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示