在過去的某個時候,symlink媒體文件已添加到我正在處理的git repo中。我想從repo中刪除它,在本地刪除文件,但不在服務器上部署repo(我也不想重新創建符號鏈接)。 git update-index --assume-unchanged
似乎不是持久性的,並且git rm --cached
會在部署中終止文件。從git repo中刪除文件,但不是從服務器中刪除文件
有沒有辦法做到這一點?
在過去的某個時候,symlink媒體文件已添加到我正在處理的git repo中。我想從repo中刪除它,在本地刪除文件,但不在服務器上部署repo(我也不想重新創建符號鏈接)。 git update-index --assume-unchanged
似乎不是持久性的,並且git rm --cached
會在部署中終止文件。從git repo中刪除文件,但不是從服務器中刪除文件
有沒有辦法做到這一點?
簡短的回答是:沒有,有沒有辦法既:
git pull
不刪除克隆磁盤上的文件刪除文件如果您的生產機器上的部署過程以git pull
開頭,則必須採取一些額外操作才能在此機器上重新創建符號鏈接。
我不知道該怎麼deployhq工作:我想你有辦法代碼「並請部署代碼後執行的行動這個腳本/列表」,動作此列表應包括「添加符號鏈接」。
最接近你想要的東西我發現在deployhq
config files。這對任何非回購文本文件都很有用,但不幸的是,這不適用於符號鏈接。
這可能工作:
ssh
到您部署的服務器。在那裏創建符號鏈接。如果它是回購中的東西,你可以將它添加到.gitignore
,但你不必 - 它無關緊要。現在服務器有鏈接,並且它未連接到存儲庫,所以它不會存在於github
或任何您正在使用的或本地計算機中。它只會是服務器上的文件。關鍵是鏈接不應該在任何地方回購和,你需要在服務器上手動創建它。
你是什麼意思把它從回購中刪除?將其從本地存儲庫中刪除?並在下一次拉它不會重新出現,或者如果你推它不會推刪除? – kabanus
如果您不打算有意修改對象,則可以將其添加到您的git.ignore文件 – Artem
您的本地回購和服務器回購是副本。你可以在本地擁有你沒有推送到服務器的東西(使用gitignore),但你不能在本地沒有的東西。 – Liam