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

如何取消跟踪已提交的部分文件且不删除远程仓库的对应文件

操作步骤

1. 先恢复远程仓库的b.json为原版本

  • 查找b.json修改前的正常提交哈希值,执行命令:
    git log --oneline -n 10 -- b.json
    找到你误修改b.json之前的那条提交记录对应的短哈希,记为<commit-id>
  • 从目标提交恢复原版本的b.json:
    git checkout <commit-id> -- b.json
  • 提交这次恢复操作:
    git commit -m "恢复b.json至原版本"
  • 推送到远程仓库,此时远程仓库的b.json就会回到未被修改/删除的状态:
    git push

2. 设置本地b.json的改动不被追踪推送

针对已经被Git追踪的文件,不能用.gitignore实现本地修改不提交,需要使用Git的忽略追踪命令:

  • 执行命令开启本地改动忽略:
    git update-index --assume-unchanged b.json
    执行后你本地对b.json的任意修改都不会被Git识别,自然也不会被提交、推送到远程仓库
  • 如果后续需要将b.json的改动同步到远程,先执行命令取消忽略即可:
    git update-index --no-assume-unchanged b.json

注意事项

git rm --cached的作用是将文件从Git的暂存区移除,同时会标记该文件为删除状态,推送后远程仓库的对应文件就会被删除,该命令仅适用于需要将文件从仓库彻底移除、但保留本地副本的场景,不要用于需要保留远程文件的需求中。

内容的提问来源于stack exchange,提问作者sak18

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:24:01