2013-09-23 639 views
53

我不斷告訴我和其他人不要提交.classpath和 .project文件並使用Maven。忽略Git中的.classpath和.project

不知何故,初級開發人員總是忽略某些規則並提交這些文件,爲能夠跳轉和開始使用代碼的新手提供這樣的文件要好得多。

現在從myside,我想嘗試/做一些事情。當我克隆回購時,我會得到.classpath和.project文件,當然它們會在我的系統中得到修改。

但我希望他們不要犯,應該總是被忽略,而 與Git同步。所以,我在本地系統的改變不會 亂用這些文件的Git和Git的更改不會弄亂我的 本地文件。

如何實現這一目標?無論如何標記這些文件被忽略這種方式?

+0

我是一個完整的Java的n00b內,但根據Eclipse文檔,這些文件應* *存放在版本控制。 http://wiki.eclipse.org/FAQ_How_do_I_set_up_a_Java_project_to_share_in_a_repository%3F –

回答

71

如果.project.classpath已承諾,那麼他們需要從索引中刪除(而不是磁盤)

git rm --cached .project 
git rm --cached .classpath 

然後所述.gitignore將工作(並且該文件可以通過克隆被添加和共享)。
例如,這gitignore.io/api/eclipse文件,然後將工作,其中也包括:

# Eclipse Core  
.project 

# JDT-specific (Eclipse Java Development Tools)  
.classpath 

注意,你可以使用「Template Directory」克隆時(請確保您的用戶環境變量$GIT_TEMPLATE_DIR設置爲訪問的共享文件夾所有)。
該模板文件夾可以包含一個info/exclude文件,ignore rules,你要強制所有回購,其中包括新的(git init),任何用戶將使用。

2

使用的.gitignore文件。這使您可以忽略某些文件。 http://git-scm.com/docs/gitignore

下面是一個例子Eclipse的一個,它可以處理你的類路徑和項目文件:https://github.com/github/gitignore/blob/master/Global/Eclipse.gitignore

+0

我已經使用的.gitignore。如果我正在從本地提交或創建新的回購,這是適用的。如果您正在克隆回購,我想.gitignore將無法正常工作,它將獲取.project文件,並且所有更改都將不同步 – Reddy

+2

您需要將'.gitignore'提交到回購站,以便每個人都使用它。這樣,沒有人應該提交這些文件。 。classpath和.project不應該在回購中。 – olan

+1

那些包含這些文件的現有文件/回購? – Reddy

-1

您可以檢查可在GitHub上的幫助(help.github.com/articles/ignoring-files)的信息如何忽略某些文件..

0

添加以下線的.gitignore和文件放在烏爾項目文件夾

/target/ 
/.classpath 
/*.project 
/.settings 
/*.springBeans 
+0

這是如何改善已被接受的答案? –

+0

請解釋你做了什麼編輯你的答案,避免只有代碼作爲 – GGO

+0

我沒有看到有人回答這個問題,他們只是給了一些鏈接引用。 –