如何告诉git忽略我的本地更改,但保留文件在我的远程仓库中?

13

不断更改我的web.config文件以进行测试/推送到生产已经变得老套,而且当我没有更改文件时必须记住从我分阶段的更改中删除该文件。

我尝试使用选择Sourcetree中的“停止跟踪”选项(我认为会将该文件添加到我的GitIgnore中),但这似乎将从我的远程repo中删除该文件。

有可能让一个文件留在我的远程repo中,并停止跟踪本地更改吗?


1
可能是使用带有Git的条件配置文件的重复问题。 - user229044
@meagar,你能详细说明一下这个问题吗?你有相关的文档或文章来解释更好的流程吗?在使用Git Deploy时,是否仍然可以不使用已检入的配置文件? - drewwyatt
2
请查看链接的问题。这是一个完全重复的问题,有人试图将特定于环境的配置存储在Git中。我在那里给出了答案。 - user229044
@meagar 很好。感谢您的建议。 - drewwyatt
1
可能是提交机器特定配置文件的重复问题。 - Senseful
1个回答

34

使用以下命令:

git update-index --assume-unchanged <filename>

如果您希望稍后撤销此操作,请使用以下命令:

git update-index --no-assume-unchanged <filename>

4
请注意,这仅影响本地代码库。如果其他开发人员克隆了该库,则他们对这些文件所做的更改将不会被忽略。 - Chris
我应该把这个命令放在哪里?我遇到了类似的问题。我希望Git本地仓库可以忽略我正在处理的某些本地配置文件,无论是永久性地还是今天或X小时内忽略。 - Jon Grah
如果您正在使用SourceTree,可以点击终端按钮,导航到文件,然后应用Lucas列出的命令。 - Rafael Palomino
精彩的答案! - Jinwoo Kim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接