在我们的项目中,配置文件存储在/application/config/
文件夹中。在.gitignore文件中,我们提到了该路径,以便我们的本地配置文件不会被推送到服务器。但每次我们更改/application/config/
文件夹中任何文件的内容时,git都会跟踪更改。我们尝试过这个命令git rm --cached name_of_file
。当它停止跟踪来自本地的更改时,在推送之后它也从服务器中删除了相应的文件。任何帮助,将不胜感激。
答案 0 :(得分:3)
gitignore不用于已经向上游推送的文件。这用于本地文件夹中的文件,但您不想提交或推送它们。
您需要先为所有这些文件执行git rm,提交它们并将删除推送到上游。然后在本地文件夹中再次创建这些文件。发布,gitignore将忽略这些文件
答案 1 :(得分:1)
这通常是在使用git
或源代码控制时犯的错误。一般来说,源控制应仅用于的文件,无论在哪里,例如源代码。如果需要为不同的目标创建/修改文件(如不同服务器上的配置文件),那么您应该对生成它的某些代码进行版本化,而不是对配置文件进行版本控制。
如其他地方所述,使用git rm
停止跟踪文件。那么你应该花一些时间(可能不会花太长时间;几个小时通常就足够了)来创建一个自动生成它们的解决方案,并可能进行手动调整(但是应该避免这种情况,原因很明显)。