我有一个使用GIT的版本控制下的网站。我设置了一个系统,它自动将我的master
分支中的更改部署到我的生产服务器。也就是说,我的存储库中有一个web-hook,它会触发一个PHP脚本,从本质上启动服务器上的git pull
以便下拉更改。Git忽略文件,但不删除它
我的问题在于我目前有一个使用git进行跟踪的配置文件(config.php
)。我和另一位开发人员希望我们自己的config.php
文件与服务器上的文件不同,因此我们希望告诉git停止跟踪此文件并假装它不在那里。
我们首先决定使用不太重要的文件进行测试,因此我们在我们的.gitignore
文件中添加了test.php
,希望这可以做到。 Git仍然在跟踪文件,所以我试图运行git rm --cached test.php
,试图停止跟踪文件。这似乎工作,所以我们承诺并推动我们的改变。
令我惊讶的是,当我们的部署脚本启动了我们服务器上的拉动时,我们发现这个文件已经从生产中删除。谢天谢地,删除的test.php
并不重要。
TLDR;我该如何告诉git忽略它当前跟踪的文件,将它从我的存储库中取消跟踪并删除,但将其保留在我的生产服务器上?
你能解释为什么我必须从存储库中删除文件将它添加到.gitignore,然后将其添加回来? –