推送代码前如何丢弃特定文件更改?如何忽略指定文件推送?
解决Git本地配置文件不被提交的几种方法
方法1:用git update-index --assume-unchanged临时忽略修改
适合临时不想提交指定文件本地变更的场景:
- 执行命令标记文件:
git update-index --assume-unchanged prod-settings.property - 若之后需要恢复追踪该文件的修改,执行:
git update-index --no-assume-unchanged prod-settings.property
方法2:用git update-index --skip-worktree长期忽略修改
这个命令比上面的更稳定,适合长期保持本地修改不被提交的场景(不会因Git的自动拉取、合并等操作失效):
- 执行命令标记文件:
git update-index --skip-worktree prod-settings.property - 恢复追踪:
git update-index --no-skip-worktree prod-settings.property
方法3:模板文件方案(推荐工程化做法)
这是团队协作中最规范的方式,从根源避免配置文件的提交问题:
- 将原文件
prod-settings.property重命名为prod-settings.property.template,保留占位内容(比如你示例里的password=enter password),并把这个模板文件提交到仓库。 - 在
.gitignore文件中添加一行:prod-settings.property,让Git忽略本地的配置文件。 - 本地复制模板生成配置文件:
cp prod-settings.property.template prod-settings.property,然后填写自己的password和name。 - 后续团队成员拉取代码后,都通过模板生成自己的本地配置,每个人的私有配置都不会被提交到仓库。
内容的提问来源于stack exchange,提问作者Thunfische
相关产品推荐
相关产品推荐

