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

如何在Git受控文件旁长期保留本地文件?

解决Git中个人配置/脚本文件不被提交且不被git clean删除的问题

经常碰到这种情况——你有一堆自己用的配置文件、脚本,比如Qt Creator的.pro.user、Sublime Text的.sublime-project,或是个人本地配置、私用shell脚本,不想提交到Git仓库,但又怕git clean -fdx这类清理命令把它们删掉。下面给你几个实用的解决方案:

1. 项目级忽略:使用.gitignore文件

这是最通用的方案,适合团队里大家都需要忽略的文件(比如IDE配置),或者你不介意把忽略规则共享给其他人的情况。

  • 操作步骤:

    1. 在仓库根目录创建或编辑.gitignore文件
    2. 把需要忽略的文件/规则加进去,比如:
      # Qt Creator个人配置
      *.pro.user
      # Sublime Text项目文件
      *.sublime-project
      # 本地个人配置
      local-config.ini
      # 个人shell脚本
      my-personal-helper.sh
      
    3. 提交.gitignore到仓库:git add .gitignore && git commit -m "Add ignore rules for personal files"
  • 为什么有用:Git会自动忽略这些文件,git clean -fdx只会删除未跟踪且未被忽略的文件,所以这些被标记的文件会被保留。

  • 注意:如果这些文件之前已经被提交到仓库过,得先执行git rm --cached <文件名>把它们从Git的跟踪列表中移除,再添加到.gitignore提交。

2. 本地专属忽略:.git/info/exclude文件

如果你不想修改项目的.gitignore(比如你的个人脚本完全和团队无关),可以用这个本地专属的忽略文件,它不会被提交到远程仓库,只有你自己的本地仓库生效。

  • 操作步骤:
    1. 打开仓库目录下的.git/info/exclude文件(如果没有就创建)
    2. 按照和.gitignore一样的格式添加忽略规则,比如:
      # 我的私人调试脚本
      debug-script.sh
      
  • 优势:不用改动项目共享的.gitignore,不会影响其他开发者,完全属于你的本地配置。

3. 标记文件为“假设未修改”:git update-index --assume-unchanged

针对单个文件,告诉Git“假装这个文件没有被修改”,适合那些你不想提交、但偶尔会修改的个人文件。

  • 操作命令:
    git update-index --assume-unchanged path/to/your/personal-file
    
  • 效果:Git不会再提示这个文件的修改,git clean也不会删除它。
  • 取消标记的命令:
    git update-index --no-assume-unchanged path/to/your/personal-file
    
  • 注意:如果这个文件之前在仓库里,其他人修改并提交后,你拉取代码时可能会遇到冲突,所以更适合完全未被跟踪的个人文件。

额外小贴士

  • 执行git clean前,最好先加-n参数预览一下会删除哪些文件:git clean -fdxn,确认不会误删你的个人文件再执行真正的清理。
  • 区分清楚“团队通用忽略”和“个人专属忽略”,通用的(比如IDE配置)放到.gitignore共享,私人的用exclude或assume-unchanged。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:28:03