13

我在一家公司开始了一份工作,他们将 Maven 与 Git 结合使用。我以前没有使用过 Maven,我希望我的问题不会太愚蠢。为什么要将 Maven 与 Git 结合使用?从我读到的 Maven 有一个本地的,一个中央的,并且可以有一个远程存储库,它可以在其中找到它的依赖项。这应该使一组程序员能够在相同的代码上一起工作。Git在这里的目的是什么?是否可以仅使用 Maven 而无需 Git 的帮助在团队中进行编程?

4

3 回答 3

23

那么 maven 和 git 用于不同的目的:

  • GIT保存您的应用程序的源代码

  • MAVEN用于依赖管理。它包含您的应用程序的二进制依赖项。它还创建了所用 IDE 的抽象。一个开发人员可以使用 eclipse 和另一个 intellij。该项目也可以使用命令行构建。

于 2013-09-29T16:21:21.573 回答
13

我想只使用 Maven是可能的。它甚至可能并不完全可怕。但是,Maven 是用于分发版本的系统(即使它们是快照或其他)。它与版本控制软件完全不同。我想你可以说 Maven 只是没有 DVCS 系统(如 git)的“版本控制”部分的“分布式”部分。

真正的版本控制可以做很多Maven 不直接支持的事情,例如合并、差异、提交日志。我确信可以Maven 之上使用合适的插件构建一个实际的、功能齐全的版本控制系统,但使用起来会非常笨拙和笨拙。之类的人git已经做到了这一切,而且他们从一开始就被设计为这样做,所以他们做得比 Maven 之上的一些黑客所能做的更好,所以我怀疑没有人真正尝试过。

我的意思是,您可以只使用共享文件夹、命名约定、手动日志文件、用于在开发人员之间同步的 IM 群聊(irc 频道)、用于比较内容的股票差异工具等进行版本控制。使用起来会很糟糕并且很容易“破坏”(在这种情况下,很容易破坏整个项目及其所有历史)。版本控制系统已经发展了很长时间,你可以从这里开始阅读它,并且在 Maven 之上开始这样做就像回到 30 年前一样。

于 2013-09-29T16:48:02.430 回答
2

使用 时Maven,您的项目的依赖项定义良好,pom.xml这有利于协作开发,因为添加依赖项不需要通知其他开发人员,因为Maven通过下载依赖项自动处理依赖项本身。

Git 用于分布式版本控制,非常适合跟踪项目中的代码更改。

基本上,这两个工具使协作开发变得容易。然而,这只是一个速成课程的描述,有很多优点。

于 2013-09-29T16:10:10.807 回答