簡體   English   中英

停止在git中跟蹤文件-無需在本地或拉出時將其刪除

[英]Stop tracking a file in git - without having it deleted either locally or on pull

我想忽略以前跟蹤的文件/目錄樹-永久忽略它,但不要在一次請求時將其刪除-只是在發生該請求的存儲庫中忽略它。 這可能嗎 ? 為什么不(如果沒有)? 我應該如何進行?

注意: 從Git存儲庫刪除文件而不從本地文件系統中刪除文件 (即git rm --cached path的可接受答案將導致文件被拉出刪除。 討厭。 不僅如此,而且“如果您從刪除之前檢出修訂,然后從刪除后檢出修訂,它將刪除您的文件”(請參閱​​此評論 ),請參閱此問題,以獲取其他有趣的評論/答案,這些評論/答案沒有解決我的問題。問題。

我非常清楚--assume-unchanged標志,但是這不是我想要的-我想告訴git(以及所有存儲庫克隆)“嘿,停止跟蹤此文件/樹”,而不是“刪除此文件/樹” “-所以我想- --assume-unchanged在全球范圍內--assume-unchanged 如果不可能(為什么?),我需要一種解決方法

作為記錄,我試圖引導git以使用它來保留/共享歷史記錄,並且我希望能夠隨意停止跟蹤文件/目錄- 而不刪除它們

有關:

我遇到了同樣的問題,我使用了git rm --cached <file>並在本地工作,但是一旦我推送到遠程服務器,它也刪除了文件,並且我不想這樣做。然后我找到了git update-index --assume-unchanged <file> ,它會忽略本地更改,並且不會從遠程服務器中將其刪除,這就像一個魅力!

這是不可能的。 為了防止跟蹤新的更改,您需要從存儲庫中刪除文件(使用git rmgit rm --cached )。 會將更改添加到刪除文件的提交中。 然后將該更改應用於其他存儲庫后,將執行刪除操作,從而刪除文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM