簡體   English   中英

讓每個人的git忽略已經跟蹤的文件(但不要從存儲庫中刪除)

[英]Make everyone's git to ignore an already tracked files (but don't delete from repository)

所以我可以這樣做: 停止跟蹤git中的文件(不刪除它們)

但這只影響我的git。

在遠程存儲庫中已經跟蹤了一些默認設置文件,如何在不刪除文件的情況下刪除該文件的跟蹤? 我不想將它從遠程存儲庫中刪除,但是該文件是運行應用程序所必需的,因此任何進行全新安裝的人都需要該文件,因此他們應該在執行git clone時擁有該文件。

但是對於開發,任何開發人員都可以對文件進行更改,但是不應該跟蹤這些更改,只有默認值應該保留在遠程存儲庫中。

我嘗試將文件添加到.gitignore列表,但它不起作用 - 因為它已被跟蹤,我認為? 我希望每個人都擁有該文件,但每個人都不應該對文件進行更改。

那我該怎么做?

如何在不刪除文件的情況下刪除該文件的跟蹤?

git rm --cached -- afileToIgnore

它將從Git索引中刪除,但會在本地保留在磁盤上。

如果該文件隨后被添加到.gitignore ,則git status將不再顯示它以進行添加/更改。

但是,這會將文件記錄為從Git倉庫中刪除,這不是您想要的。

因此,實際的解決方案是將相同的文件添加為模板

 copy aFileToIgnore aFileToIgnre.tpl
 git add aFileToIgnre.tpl
 git commit -m "record template value file"

然后聲明一個塗抹內容過濾器驅動程序 ,它會自動重新生成該文件(忽略,因為它在.gitignore

https://git-scm.com/book/en/v2/images/smudge.png

smudge腳本(你可以版本)

copy aFileToIgnore.tpl aFileToIgnre

另請參閱“ 如何在回購/項目中跟蹤特定於系統的配置文件?

暫無
暫無

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

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