Git如何忽略model.ini文件变更但仍将其纳入仓库同步?
解决Git中保留初始化文件同时忽略本地修改的方案(适配GitHub Desktop)
核心思路
通过Git的skip-worktree标记,实现仓库保留model.ini文件供同事同步,同时本地修改该文件不会被Git追踪、不会引发冲突,且只需一次性配置,无需重复CLI操作。
操作步骤(适配GitHub Desktop用户)
1. 先确保model.ini已纳入仓库
- 打开仓库的
.gitignore文件,删除其中关于model.ini的规则,保存修改 - 在GitHub Desktop中,将
.gitignore的修改和model.ini文件一起提交到仓库(提交备注可以写“添加必需初始化文件model.ini并调整忽略规则”)
2. 本地配置忽略model.ini的修改(仅需一次操作)
- 打开GitHub Desktop顶部菜单栏的「Repository」,选择「Open in Terminal」(只需要打开一次终端执行命令)
- 在弹出的终端中输入并执行:
git update-index --skip-worktree model.ini - 执行完成后关闭终端即可,之后你通过GUI修改
model.ini的时间戳,Git会自动忽略这些变更,不会出现在待提交列表里
3. 同事拉取后的配置(同样仅需一次)
- 同事拉取仓库代码后,同样通过GitHub Desktop打开终端,执行上述相同的
git update-index --skip-worktree model.ini命令 - 配置完成后,他们本地修改
model.ini也不会被Git追踪
补充说明
- 如果之后需要更新仓库里的
model.ini(比如修改了核心初始化配置),可以先执行git update-index --no-skip-worktree model.ini取消忽略,提交修改后,再重新执行git update-index --skip-worktree model.ini恢复忽略 - 对比
--assume-unchanged,--skip-worktree更适合这种“本地需要修改但不想提交”的场景,不会因为Git的自动更新操作失效
内容的提问来源于stack exchange,提问作者Thanos Natsikas
相关产品推荐
相关产品推荐

