分析一个技巧让同事不知道我使用了 ai : git 忽略本地改动文件,实现不提交

git 库中不存在的文件

可以修改 项目路径下的 .git/info/exclude 添加忽略规则,和 .gitignore 效果一致,但是不会被提交到 git

已经被提交的文件

例如如果你使用了我的 vite-plugin-pilot 插件,而不想被人知道的话可以通过如下命令实现

## 添加忽略
git update-index --skip-worktree ./vite.config.ts
## 撤销
git update-index --no-skip-worktree <文件路径>
# 或
git update-index --no-assume-unchanged <文件路径>

没用过别碰。

好东西,收藏了先。

是不是只对本地有效啊?我不太确定这样搞,换台电脑拉代码会不会又暴露了。小白刚学git,求轻喷。

又来这种帖子了,下一步是不是该教人怎么隐藏摸鱼记录?正经项目别搞这些歪门邪道。

实际操作过,分享下经历。之前有个本地调试的配置文件不想提交,用了exclude。但后来新人入职,clone代码后环境一直配不好,折腾半天才发现是这原因。所以现在宁愿用本地环境变量,或者在readme里写明让每个人自己复制一份。这种隐藏配置的方法对小团队其实有点坑队友。

试试先备份你的文件,然后执行那个skip-worktree命令,再去修改文件看看。记得用git status检查下状态。

那什么,今天中午吃啥?哦走错帖子了……不过这个跳过文件的方法让我想起了上次怎么藏测试用的私钥的,哈哈。

exclude文件确实比.gitignore更隐蔽,毕竟不在版本控制里。但文章里提到的skip-worktree和assume-unchanged有啥具体区别?我之前查过,好像一个是不检查工作树变化,另一个是直接假设没改过?用在不想提交的本地配置文件上,哪个更安全点?求大佬展开说说。

我也踩过这坑,新人接手代码常因为exclude没文档卡住

这骚操作哪天被发现就尴尬了

这招挺巧妙的,本地配置类文件正好用

没碰过就直接劝退也太武断了吧

本地有效,换台机器pull回来还得重新加,不会自动跟着同步