2010-08-12 113 views
8

我想找出在GIT中創建Java項目的最佳方式。特別是我想創建git存儲庫,以便在從Eclipse中的git導入時,項目會自動正確創建,其所有.project設置保持不變,並且所有其他設置都會設置。 I.E.如果我在我的工作區/文件夾中執行git clone javaEclipseProject,則在該javaEclipseProject文件夾上執行導入操作,它將打開項目而不必使用新項目嚮導。Git中的Eclipse Java項目

回答

2

我相信你可以做到這一點....但即使在我工作的公司,我也知道,.project文件不能從一臺機器移植到另一臺機器。如果你使用Ant或Maven構建你的項目然後檢查它,Eclipse,Netbeans和/或IntelliJ將能夠從你的開始檢查項目並構建他們自己的.project文件。

移動到更多......我們應該說出問題的「宗教」方面,我個人喜歡Maven或Ivy或者「在這裏插入許多其他Ant ++構建工具」的方式將繼續並找到任何依賴關係你可能不會已經爲你下載它們。我很傷心地說,但是在我使用它們的時候,Eclipse實際上最不容易使用Maven支持,雖然我不使用IntelliJ,但是勢利鼻涕.....我是指同事我有沒有說集成是無縫的,而Netbeans對於Maven來說是完美無缺的。

YMMV當然。

+5

創建的.project是不是機器之間移植文件什麼插件嗎?我們擁有版本控制中所有項目的.project文件,並且從來沒有任何問題。 – 2010-08-12 22:10:41

+0

我也想知道。 – 2010-08-13 01:21:06

+0

不是插件,主要是它的依賴性問題。如果我的系統上的文件路徑或庫路徑與您的系統上的文件路徑或庫路徑不匹配,那麼我不能僅使用基本的Eclipse配置來檢查事情,只需點擊編譯即可。如果你正在使用一些我從未聽說過的開源jar,並且如果你不檢查所有的依賴關係,我們不需要檢查,爲什麼我需要在「源代碼」控制中使用4萬個log4j副本無論如何??就像我上面所說的那樣,它更多關於你喜歡工作的方式,我認爲這是一個「宗教」問題。 ;) – mezmo 2010-08-13 13:43:42

5

將點文件(.project,.classpath和.settings目錄)添加到Git存儲庫。這就是我們用Git插件本身所做的。

+0

因此,首先在github上創建最小值,例如僅限於點文件?然後克隆到Eclipse中,創建項目文件夾,包,Java文件等,然後上傳到GIT?這些是遵循的基本步驟嗎? – raffian 2013-08-20 02:12:21

0

你可以做的是在你的主分支旁邊創建另一個叫做eclipse的分支,它存儲你的額外的eclipse項目文件。要做到這一點,你基本上需要:

  1. 創建一個Git倉庫
  2. 舞臺文件,添加一個.gitignore與任何Eclipse中的內容例如this one,承諾一切
  3. 創建一個名爲eclipse新的分支
  4. 改變你的.gitignore文件或清除它,這樣它會跟蹤你的其他文件
  5. 在項目上的目錄eclipse分支執行git config merge.ours.driver true
  6. 儘管如此,創建文件.gitattributes並添加以下行:.gitignore merge=ours。這將使git在執行合併時始終保持eclipse的分支版本.gitignore
  7. 舞臺您.project從日食與文件一起它的兄弟姐妹新創建.gitattributes
  8. 提交所有這些事情的兩個分支是「同步」與您eclipse分支還包含項目配置文件中的差異後。

一旦你做出更改你的源文件,並致力於爲您的主分支,可以通過與--no-ff選項合併它拉過來你eclispe分支這些變化。使用此方法時,絕對不要使用eclipse分支進行快速合併!也千萬不要直接將源文件上的更改提交到eclipse分支,始終將它們合併爲 - 這樣您就永遠不會發生合併衝突並保持簡單。

0

我不知道這是否存在的問題被問的時候,但現在Eclipse有一個叫例如:It新插件中,你可以從Git的進口項目,提交,推,拉,合併等權在日食。我剛剛發現了這個,它非常有用。

如果我沒有弄錯,EGit現在內置於Eclipse Mars而無需您手動添加它。所有的git功能都可以通過右鍵點擊一個項目並在團隊選項上懸停找到。我用它了很多wtih Bitbucket

你可以找到例如:It這裏http://www.eclipse.org/egit/

Eclipse的火星是主頁http://www.eclipse.org/

enter image description here