2013-09-29 28 views
9

我在一家使用Maven和Git結合使用的公司開始了一份工作。我之前沒有和Maven合作過,我希望我的問題不是太愚蠢。爲什麼要將Maven與Git結合使用?從我讀的Maven有一個本地的,一箇中央的,可以有一個遠程存儲庫,它可以找到它的依賴關係。這應該使程序員團隊能夠在相同的代碼上一起工作。 Git的目的是什麼?如果沒有Git的幫助,是否可以在Maven中編程?爲什麼Maven和Git的組合?

回答

12

我想這將是可能只有Maven的工作。它甚至可能不是完全可怕的。但是,Maven是分發版本(即使它們是快照或其他)的系統。它是一個完全不同的工具,而不是版本控制軟件。我想你可以說Maven只是沒有DVCS系統(如git)的「版本控制」部分的「分佈式」部分。

真正的版本控制可以做a lot of stuff Maven不直接支持,比如合併,差異,提交日誌。我相信它會是可能的在Maven之上用合適的插件構建一個實際的,全功能的版本控制系統,但是它會非常笨拙和使用起來很尷尬。像git這樣的已經完成了所有這些工作,並且他們從一開始就設計了它,所以他們做得比在Maven之上做的更好,所以我懷疑沒有人真的嘗試過。

我的意思是,您可以使用共享文件夾,命名約定,手動日誌文件,用於同步開發人員的IM羣組聊天(IRC通道),股票比較工具等進行版本控制以比較內容等。使用起來非常糟糕,很容易「破壞」(在這種情況下,容易腐敗整個項目及其歷史)。版本控制系統已經有了很長的演變,你可以開始閱讀關於它的例子here,然後開始在Maven之上做這件事就像跳回30年前一樣。

2

使用Maven,你的項目依賴於pom.xml這是很好的協同發展,除了依賴並不需要其他開發者被告知Maven被明確定義的自動處理通過下載依賴的依賴本身。

Git用於分佈式版本控制,非常適合在項目中更改跟蹤代碼更改。

基本上,這兩個工具使協作開發變得容易。然而,這只是一個速成課程的描述,有很多優點。

18

好Maven和Git的是爲不同的目的:

  • GIT握着你的應用程序

  • MAVEN的源代碼被用於依賴管理。它擁有你的應用程序的二進制依賴。它還創建了使用的IDE的抽象。一個開發人員可以使用eclipse和另一個intellij。該項目也可以使用命令行構建。