[英]Git: How to ignore changes to a tracked file?
我的項目中有一個帶有數據庫設置的文件,我已將其設置為一些默認值。 該文件由Git
跟蹤並簽入。由於將使用各種開發人員機器使用不同的值來編輯此文件,因此有沒有辦法讓我告訴Git
忽略對此文件的新更改?
我嘗試將文件添加到.gitignore
文件,但是由於已跟蹤文件,因此不會忽略該文件。 在其他情況下這還不錯,但是我想知道是否可以在這里做些什么?
我建議對源代碼控制文件的命名與其實際的預期名稱不同。 例如,如果文件通常名為config.json
,則將示例文件命名為config.json.dist
並提交該文件。 然后將config.json
添加到您的.gitignore
文件中。 您的開發人員只需在克隆后簡單地cp config.json.dist config.json
,然后根據需要對其進行編輯,即可進行后續提交,而不必擔心意外更改默認文件或忘記一直打開和關閉某些設置。
您甚至可以編輯代碼以首先搜索config.json
,如果不存在,則退回到config.json.dist
。 這將使開發人員甚至無需執行復制步驟即可工作。 (這是PHPUnit的工作方式。)
為此,可以使用git update-index --skip-worktree FILE
。
它與--assume-unchanged
相似,但是與--assume-unchanged
不同, 它不僅僅是一個不可預測的性能技巧 。
要取消--skip-worktree
效果並取消設置標志,請使用--no-skip-worktree
。
git pull
時,您可能會遇到沖突。 ( 更多詳細信息 ) 您可以使用git update-index --assume-unchanged <file>
如果要再次跟蹤它,請使用git update-index --no-assume-unchanged <file>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.