git - 不推送本地更改,但在新分支中接收远程更改

git - do not push local changes, but receive remote changes in new branch

这可能已经有了答案;我只是不确定如何搜索它。

这是我的情况:我有一个存储库,其中有一个名为 environments.json 的配置文件。在本地工作时我需要对此文件进行一些更改,我不想提交或被推回原点。好的;这就是 git ignore 的用途。

但是当我设置它时,这也意味着当我从原点拉出一个新分支时,我不会得到其他人对该文件所做的任何更新。每天,这不是问题,但每隔一段时间,一个新的环境对象可能会添加到文件中(例如,一个新的 AWS 实例),我确实需要获取该信息。

所以我的问题是:如何设置 git 以便当我提交并推送我的回购时,它不包括我对 environments.json 所做的任何更改,但是当我做一个拉,或得到一个新的分支,我确实收到了其他人对文件所做的更改并推送到原点(即使他们覆盖了我的本地更改)?

把文件名放在.git/info/exclude

此文件不会提交回远程存储库,并且会阻止对已记录文件的更改进行暂存。

我想这有时会导致冲突,但它们应该很容易管理。

https://help.github.com/articles/ignoring-files/#explicit-repository-excludes