2012-03-02 48 views
1

我有以下情況:強制git不修改我的工作樹中的文件

我正在開發一個協作項目,我們正在使用github。有一個名爲user_info.csv的文件正在被追蹤。各種修改它的人都會推動提交。

對於測試,我想列出我自己的用戶,即使提交表明它應該也沒有git更新它。例如,如果我簽出一個較舊的提交或進行拉取,我的工作樹中跟蹤的所有文件都應該被修改,但user_info.csv除外。

即使在拉動/切換分支時,我怎樣才能讓git不修改user_info.csv,並且在任何時候都將其從索引中刪除?

我想:

  • .gitignore
  • $GIT_DIR/info/exclude
  • git update-index --assume-unchanged

回答

0

只要文件被Git的跟蹤它總是會應用來自其他分支的變化,因爲那是什麼它確實是。跟蹤內容,你知道。 :)

要麼解開文件(小心,這會將它從其他人的存儲庫中刪除,一旦它們從您那裏獲取該特定提交),或者將其移出,更新並再次移回。

+0

我該如何爲我解除文件夾? – Cam 2012-03-02 20:14:18

+0

通過從本地分支中取消跟蹤(又名刪除),但每次從其他人處獲取更新時,您都可能會發生衝突。 – Bombe 2012-03-02 23:25:54

2

問問自己該文件是否屬於版本控制?

如果每個人都改變了自己的個人正在使用的文件,那麼該文件應該被轉換成一個模板,跟蹤(如user_info.template)和所有合作者可以創建自己的user_info.csv是在exclude.gitignore

但是,如果文件是程序必不可少的,每個人都需要它,那麼你應該想想你如何能做到這一點是不同的:

  1. 創建一個新的文件,並保持它的一個副本外並在每次拉動中複製它。
  2. 有更改一個單獨的文件,並修改您的測試文件,使用該文件,而不是
  3. 創建燈具您的測試,(根據您的測試環境,當然)不包括在所有文件
  4. 運行測試時,使用腳本創建新文件,並在測試完成後將其刪除。
相關問題