忽略本地文件修改但不远程

Ignore file modifications locally but not remotely

在我们的 git 存储库中,例如 settings.ini 包含一堆配置数据。当我在本地测试我们的程序时,程序会自动更改文件中的一些值,例如本地目录路径或 IP 地址等,这些上游的任何人都不感兴趣,但是设置模块的所有者当然可能会添加新的设置我需要下载。

目前,我们使用 Gitflow pattern,所以我在处理一个功能,但是当我尝试 git flow feature finish my_feature 时,我得到一个错误:

Fatal: Working tree contains unstaged changes. Aborting.

当然,git checkout -- settings.inigit stash 让我解决了这个问题,但是有没有办法将文件标记为 "ignore local changes" 这样我就可以停止收到错误并保留我的更改?

在此处查看此博客 post:

https://www.jimbobbennett.io/hiding-api-keys-from-git/

这有一个从 git 获取 "hiding" 信息的技术,它基本上需要添加您希望将其检入存储库的文件,然后 运行 命令:

git update-index --assume-unchanged ./<your file name here>

这将告诉 git 忽略以后对该文件的任何更改。

显然,如文章中所述,如果您确实想要对文件进行实际更改,则需要再次更新文件。