2012-02-13 48 views
1

現在我工作的一個項目有config.py文件,該文件在Git的回購,包含這樣幾行:我可以強制Git在提交時忽略我的配置或「站點本地」數據嗎?

debug = False 
database = '' 

但我的本地工作副本都有自己的位置這些行:

debug = True 
database = 'sqlite:///site.db' 

這些行幾乎不會改變,但仍然每次我提交我強制手動添加每個更改,所以我可以省略索引config.py的更改。理想情況下,我希望找到一種方法告訴Git忽略對這些行或整個文件的更改,但仍然將它們包括在回購中,因此我的git status屏幕會很乾淨,我可以使用git commit -a

如果這是不可能的,是否有推薦的工作流程來避免回購和工作副本之間的這種不匹配?

+0

你看過添加[.gitignore](http://linux.die.net/man/5/gitignore)嗎? – Sjoerd 2012-02-13 15:04:52

+0

@Sjoerd我仍然希望跟蹤文件,而不是我的本地更改。 – zildjohn01 2012-02-13 15:07:52

回答

1

嘗試git update-index --assume-unchanged config.py。這將使git不會注意到文件的任何更改,直到您簽出另一個分支或以其他方式重建索引。不幸的是,如果您需要對存儲庫中必須跟蹤的文件進行長期更改(而不是在.gitignore),那麼這是最好的解決方案。

更好的解決方案是根本不跟蹤文件,並將其存儲在特定於存儲庫的.git/info/excludes.gitignore文件中。

+1

謝謝。這個答案讓我發現了'--skip-worktree',它似乎對復位和其他回購操作有更強的適應能力。 [本頁](http://fallengamer.livejournal.com/93321.html)也提到它可以用於跟蹤配置文件。我認爲這可能是目前最好的解決方案。 – zildjohn01 2012-02-14 18:29:33

+0

@ zildjohn01聽起來不錯!我不知道這個選擇。 – Borealid 2012-02-14 20:29:46

相關問題