2011-05-28 44 views
2

我在我正在開發的一個開源項目中有一個配置文件stuff.conf。我希望這個文件的示例副本能夠存放在Git存儲庫中(在其正確的路徑中),以便克隆該項目的人員能夠獲得它。但是,在對軟件進行操作時對其進行本地更改很方便 - 此時我不可避免地無意中將這些更改與git -a一起提交。最好的情況是,更改後的文件存在於git狀態下。如何使git退出跟蹤文件更改並保留在索引中?

在帶有配置變量的Makefiles中出現類似的問題。

有沒有什麼辦法,從Git控件中刪除文件,告訴Git忽略特定路徑的更改,直到進一步通知?

回答

4

git update-index --assume-unchanged應該做的伎倆。

http://www.kernel.org/pub/software/scm/git/docs/git-update-index.html

當「假設不變」位上, 的git停止檢查工作樹 文件可能的修改,所以 您需要手動取消設置位 通知Git時你改變工作 樹文件。在處理系統調用非常慢的 文件系統上的大項目時,這有時會有所幫助 (例如,cifs)。

這個選項也可以用來作爲 粗文件級機制忽略跟蹤的文件 提交的更改(類似於什麼的.gitignore確實爲 未跟蹤文件)。如果它需要 在索引中修改此文件,Git將失敗 (正常)。合併時提交時爲 ;因此,在 的情況下假設未跟蹤的文件是 ,如果上游發生更改,則需要手動處理情況 。

相關問題