文档章节

svn、git、maven的区别

 隔三差五的小幸福
发布于 2017/07/25 09:44
字数 670
阅读 72
收藏 0

今天学习了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也都可以。

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 1
码字总数 670
作品 0
深圳
程序员
私信 提问
Maven自动部署(SCM-SVN/Git)(maven-scm-plugin/maven-release-plugin插件的使用)

以下内容引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/mavendeployment_automation.html: 注意:Maven自动构建和自动部署的区别在于,构建只是编译代码阶段,而部署...

easonjim
2017/05/15
0
0
关于对-话说Svn与Git的区别-中,对svn的申诉

今天看到一篇文章:“话说Svn与Git的区别”https://www.jianshu.com/p/bfec042349ca,通篇都是讲git如何好,svn就没有什么用的样子,对于经常使用svn的我,我想做一点svn的申诉: 1.svn也可以...

zdhsoft
03/07
0
0
从svn上检出威尼斯人网站开发多模块maven项目

一、SVN上Maven多威尼斯人网站开发模块项目结构 haozbbs.com Q1446595067 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二、eclipse通过SVN导入到工作空间 工作空间位...

xmvn
07/09
0
0
对比 Git 与 SVN,这篇讲的很易懂

---恢复内容开始--- 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 导语 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始使用 Git,...

腾讯云+社区
10/31
0
0
对比Git 与 SVN,这篇讲的很易懂

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 导语 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始使用 Git,并总结平时工作高频...

腾讯云加社区
10/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

git 常用命令

本文档适合有一定git使用基础的用户,当使用时忘记使用命令可以起参考作用,新手请移步其他详细教程 下载安装 下载git完成之后,配置用户 $ git config --global user.name "Your Name"$ g...

杨鹏飞乀
2分钟前
0
0
返回历史页面,并刷新该历史页面

原来 还真的有 可以 返回历史 上一个页面,并刷新历史页面的 API的, 之前以为没有,所以只能每次返回 上一个页面的时候,都是直接 写上了 该页面的路径, 也就是直接去访问了。 而document....

之渊
4分钟前
0
0
MaxCompute新功能发布

2018年Q3 MaxCompute重磅发布了一系列新功能。 本文对主要新功能和增强功能进行了概述。 实时交互式查询:Lightning on MaxCompute 生态兼容:Spark on MaxCompute New SQL 新特性发布 Pyth...

阿里云云栖社区
5分钟前
0
0
PHP实现excel导入

1、前端写法 <input type="file" name="myfile" id="uploadingFiles" value="上传excel文件" /> <input type="text" name="mode" id="uploadingmode" value="" /> <button id="determin" cl......

葬-花
6分钟前
0
0
SpringBoot打jar包或war包获取不到资源文件解决办法

问题描述 在开发过程中我们经常会碰到要在代码中获取资源文件的情况,而我在最近将原有的Tomcat的原生项目迁移到SpringBoot项目中时碰到一个问题,就是在本地运行时,获取本地的xml资源文件是...

不学无数的程序员
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部