svn、git、maven的区别
svn、git、maven的区别
隔三差五的小幸福 发表于5个月前
svn、git、maven的区别
  • 发表于 5个月前
  • 阅读 12
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

今天学习了svn、git、maven的区别和关联,总结一下:

  1. git和svn、cvs都是代码版本管理工具。maven用来版本控制、构建项目、(配合nexus)添加依赖。

  2. git和svn的区别:

     svn必须要有服务端,只有网络连上服务端才能提交和更新。传输数据时需要利用服务器搭建svn来共享。并且svn的服务端是单一的,一旦服务器损坏整个版本库的历史记录都会丢失,也没有办法回滚。

     每一台装了git的电脑都是服务端,各台电脑之间可以相互同步和推送,不需要网络就可以提交到本地的git库里。git每台电脑都是服务端,只要两台电脑做过同步,任何一台坏了,另一台还保有着所有的历史记录,仍然可以提交更新回滚,不怕代码历史丢失。

  3. maven最重要的功能就是管理项目之间的依赖关系,使用一个xml来维护。如果工程中需要哪个类型的jar包,只需要在maven的pom.xml中配置一下项目名称和版本号即可,maven就会自动从网上为你下载jar包并让你的工程依赖上,你的本地硬盘的仓库目录能看到你用过的所有第三方项目的jar包和源代码,再也不用去下载那些来路不明的jar包再扔到工程里了,也不用担心写同一个项目的两个人使用了不同版本的jar包,以至搞出莫名其妙的问题。

4. maven可以通过添加maven repository(Maven仓库)中的依赖,减少项目中的jar数量,并且大的项目中模块交叉引用也能够用它很好地解决。

  5. git做版本控制,无论是否使用maven都行。

  6. 两者配合的方式,通过.gitignore文件中添加jar、target目录,可以避免将这些二进制文件、自动生成的文件加入到版本库中,从而减小版本库的大小,缩短同步时间。其他人同步之后,只需要执行maven命令,就能够自动从repo里面下载依赖,按照依赖树自底而上构建内部交叉依赖。
简单来说,maven让git不需要同步不必要的第三方库和自动生成的class、jar文件,并可以额外同步项目jdk版本等项目设置,标准化构建流程;git只是一个CVS工具,换成SVN、Mercurial也都可以。

标签: maven git svn
共有 人打赏支持
粉丝 0
博文 1
码字总数 670
×
隔三差五的小幸福
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: