2012-08-30 76 views
1

我一直遇到一些我想避免的不便之處。如果我看着盤我想混帳忽略所有的文件,我可以打破他們分爲兩個基本組:有效.gitignore和清潔策略?

  1. 文件,我需要讓我的文件系統上的項目(IDE項目元數據工作文件,特定於我的工作站的配置文件等)

  2. 生成的文件不需要,通常會將我的文件系統添加到.gitignore中,從而導致混亂。 (編譯後的輸出,核心轉儲等)

理想情況下,我想混帳忽略所有這些文件,這樣,當我在尋找我的不分階段的變化,我可以得到的東西一個明確的說法我沒有一堆噪音改變。如果我將所有這些文件添加到.gitignore,我可以清楚地瞭解我在做git status時發生了什麼變化。 (這是我現在的狀態)

但是,我也希望能夠使用git clean來刪除類別2中的所有文件而不刪除類別1中的所有文件。如果我只添加在類別1中的文件,我可以使用git clean -x刪除所有未跟蹤的東西。不幸的是,這使git status混亂。

或者,我可以添加類別2中的所有文件,但我最終不得不手動記住不添加/提交特定於工作站的文件。 git status幾乎是連續混亂,但不是很糟糕。

有沒有一種方法,我可以得到和諧所有這三個東西:

  1. 找我關心與git status
  2. 刪除所有我不關心文件的文件的清晰畫面與git clean
  3. 請所有我不想未跟蹤的文件共享,當我運行git clean

回答

3

看一看在的細節手冊頁。它包含有關此案例的詳細信息。

選擇你想要的情況。


哪個文件放置圖案取決於該模式是如何意味着 使用。應該版本控制的模式以及通過克隆分發給其他存儲庫的模式(即所有開發人員都將要忽略的文件)應該放入.gitignore文件中。

模式,其是針對特定的倉庫,但它也 不需要與(即住在倉庫裏,但具體到一個用戶的 工作流程例如,輔助 文件)等相關資料庫共享應該進入$GIT_DIR/info/exclude文件。

模式 用戶希望git在所有情況下都忽略(例如,備份或 由用戶選擇的編輯器生成的臨時文件)通常在用戶的 ~/.gitconfig中由core.excludesfile指定的文件 。