2010-07-04 166 views
3

我正在開發一款應用程序,該應用程序應該既可以在Android上運行,也可以在普通的Java SE上運行。Eclipse:將一個項目添加到另一個項目的構建路徑時如何忽略.git子目錄?

我有一個eclipse項目叫做foobar核心其中包含Android和SE版本使用的代碼。我有另一個項目叫做foobar-android,其中包含所有android特定的代碼。

我需要引用一些在foobar的,Android的項目foobar的核心碼的,所以我在設置中添加foobar的核心foobar的,Android的 - > Java構建路徑 - >項目 - >構建路徑上的必需項目。這工作正常,因爲我可以使用代碼foobare核心foobar-android現在。

這裏的問題:兩個foobar的核心foobar的,Android的是獨立的Git倉庫,這意味着他們都有一個git的子目錄。現在當我編譯foobar-android時,我在「控制檯」選項卡上收到很多警告。它們看起來像這樣:

/foobar-core/src/.git/HEAD conflicts with another file already put at .git/HEAD 
/foobar-core/src/.git/config conflicts with another file already put at .git/config 
/foobar-core/src/.git/description conflicts with another file already put at > .git/description 
/foobar-core/src/.git/hooks/applypatch-msg.sample conflicts with another file already > put at .git/hooks/applypatch-msg.sample 

如何告知Eclipse在從foobar-core項目導入源時忽略.git文件?

回答

2

即使你只有一個git repo,最好忽略.git目錄,因爲其他Eclipse會浪費大量時間查看其中的文件,即使它不需要對它執行任何操作。特別是,當您進行項目範圍搜索時,Eclipse將搜索.git目錄中的所有文件,這需要很長時間,並最終顯示出很多重複項(或幾乎重複的文件,舊版本的同一文件找到相同的搜索詞)。

我認爲Eclipse git擴展可能會處理這個問題,但是如果你不想安裝另一個擴展,我發現它告訴Eclipse所有的.git目錄都是「Derived」,這似乎是最好的方式使Eclipse稍微忽略包含的文件。

您可以通過從Package Explorer視圖切換到Navigator視圖來執行此操作,您應該在該視圖中看到.git文件夾。右鍵單擊.git文件夾,選擇屬性,從設置選擇器中選擇資源,然後選中「派生」框。

+0

謝謝,這實際上回答了這個問題,不像上面提到的使用.gitignore的'答案'。 – 2011-07-06 19:35:38

+0

是的,我得到了一個'答案'以及:) – barrycburton 2011-07-07 22:27:04

1

我會設置一個.gitignore文件,該文件完全忽略了整個foobar-code項目。

+2

也許我的問題解釋不夠好:提交git時不會發生錯誤,但是當我*編譯* Eclipse中的項目時不會發生錯誤。這是我得到的:http://i.imgur.com/PuCbH.png – rodion 2010-07-05 09:46:22

+0

@rodion:這很有趣,我仍然會嘗試gitignore文件。 – 2010-07-05 14:07:52

+2

哈哈! Josh K,你很搞笑! – barrycburton 2011-04-06 18:13:37

相關問題