【发布时间】:2015-11-30 19:29:37
【问题描述】:
我有一个使用 GIT 进行版本控制的网站。我有一个系统设置,基本上,自动将我的master 分支中的更改部署到我的生产服务器。也就是说,我的存储库中有一个 web-hook,它触发了一个 PHP 脚本,该脚本本质上在服务器上启动了一个 git pull 以下拉更改。
我的问题在于我目前有一个使用 git 跟踪的配置文件 (config.php)。我自己和另一个开发者想要拥有我们自己的 config.php 文件,这些文件与服务器上的文件不同,因此我们想告诉 git 停止跟踪这个文件并假装它不存在。
我们决定首先使用一个不太重要的文件进行测试,因此我们将test.php 添加到我们的.gitignore 文件中,希望这样可以解决问题。 Git 仍在跟踪该文件,因此我尝试运行 git rm --cached test.php 以尝试停止跟踪该文件。这似乎可行,因此我们承诺并推动了我们的更改。
令我惊讶的是,当我们的部署脚本在我们的服务器上启动拉取时,我们发现该文件已从生产环境中删除。谢天谢地,删除的test.php 并不重要。
TLDR;如何告诉 git 忽略它当前跟踪的文件,将其取消跟踪并从我的存储库中删除,但在我的生产服务器上保持原样?
【问题讨论】:
标签: git deployment version-control gitignore