You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Git中生成文件状态‘ R’及‘ C’?

Git状态‘ R’和‘ C’的生成测试方法

生成‘ R’状态(未暂存的重命名标记)

常规git mv会生成R (暂存区已记录重命名),要得到 R(工作区重命名但暂存区未同步删除旧文件),按以下步骤操作:

  1. 手动重命名已追踪文件(不用git mv):
    mv README.md roadme.md
    
  2. 暂存新生成的文件,但不处理旧文件的删除:
    git add roadme.md
    
  3. 查看精简状态:
    git status --porcelain
    

此时输出会显示:

R README.md -> roadme.md

这个状态表示:暂存区中旧文件README.md仍处于正常追踪状态,但工作区里它已被删除并替换为新文件roadme.md,Git识别出这是一次重命名,但暂存区未同步旧文件的删除操作。

生成‘ C’状态(复制检测标记)

C状态是Git识别文件复制的标记,默认Git不会自动检测复制,需要手动开启相关选项,生成步骤:

  1. 确保有一个已被Git追踪的文件(比如README.md)
  2. 手动复制该文件生成新文件:
    cp README.md COPY.md
    
  3. 暂存新生成的复制文件:
    git add COPY.md
    
  4. 用强制检测副本的参数查看状态:
    git status --find-copies-harder --porcelain
    

此时输出会显示类似:

C  README.md -> COPY.md

如果未暂存复制文件,执行git status --find-copies-harder --porcelain会得到 C README.md -> COPY.md。

注:--find-copies-harder会让Git花费更多资源去检测文件复制关系,也可以通过配置git config status.showRenames copies让默认状态显示复制标记。

内容的提问来源于stack exchange,提问作者herr.kaste

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:22:17