我在一家使用Maven和Git結合使用的公司開始了一份工作。我之前沒有和Maven合作過,我希望我的問題不是太愚蠢。爲什麼要將Maven與Git結合使用?從我讀的Maven有一個本地的,一箇中央的,可以有一個遠程存儲庫,它可以找到它的依賴關係。這應該使程序員團隊能夠在相同的代碼上一起工作。 Git的目的是什麼?如果沒有Git的幫助,是否可以在Maven中編程?爲什麼Maven和Git的組合?
9
A
回答
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。該項目也可以使用命令行構建。
相關問題
- 1. 設置SpringToolSuite與Maven/Java的/ GIT組合
- 2. Git和Maven和發佈和合並
- 3. 爲什麼git合併正在發生?
- 4. 爲什麼git無法合併?
- 5. 爲什麼git合併,當我做拉?
- 6. 爲什麼使用組合?
- 7. git:爲什麼「合併分支」「......」的主人?當拉和推
- 8. 爲什麼連接和聚合的組合很慢?
- 9. Maven發佈和Maven組件插件有什麼區別?
- 10. git fetch和後續合併不會像git pull一樣 - 爲什麼?
- 11. 爲什麼我的聚合組不會?
- 12. 爲什麼使用maven如果已經使用git?
- 13. 爲什麼Maven每次下載maven-metadata.xml?
- 14. maven update和maven build有什麼區別?
- 15. 什麼是git中的簡單合併?
- 16. 什麼是git的合併策略?
- 17. 爲什麼Maven拋出InvocationTargetException?
- 18. 爲什麼strtol和strtok的組合不起作用?
- 19. SignalR和WebAPI,爲什麼使用兩者的組合?
- 20. 爲什麼cookies和session的組合使用起作用?困惑
- 21. 爲什麼數組聯合不工作
- 22. 爲什麼順序不通過組合?
- 23. 爲什麼git沒有'git ignore'命令?
- 24. git-gui不同意git status:爲什麼?
- 25. 爲什麼git difftool會使用git diff?
- 26. 「git checkout」和「git checkout - 」有什麼區別?
- 27. 什麼做「git checkout \ *」和「git commit - 」完成?
- 28. `git diff`和`git difftool`有什麼區別?
- 29. git add *和git add。有什麼區別?
- 30. git am和git apply有什麼區別?