我有一個使用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,然後將其添加回來? –