鉴于本吧多新人,新人又须要多交流才能进步,今天就给新人们讲讲git和maven的必要性,由于,他们的重要性,远远超过不少没用过的人的想象。
不少人应该用过svn cvs之类的代码版本管理工具,git也是其中之一。
svn和git最大的几个区别要点,svn必需要有服务端,网络能连上服务端才能提交和更新,git不须要,每一台装了git的电脑都是服务端,各台电脑之间能够相互同步和推送,而提交不须要网络就能够提交到本地的git库里。
对于吧友们来讲,这样的好处就是,若是要分享代码,不须要打个压缩包传来传去,也不须要找个服务器搭个svn来共享,如今oschina,csdn等网站都提供了免费的git服务器,你们注册个账号,提交下去,把地址发给别人就能够了,而免费的svn服务器,几乎是不存在的。
并且svn由于服务端是单一的,一旦服务器坏了,整个版本库的历史记录就没有了,也无法再回滚,git每台电脑都是服务端,只要两台电脑作过同步,任何一台坏了,另外一台还保有着全部的历史记录,仍然能够提交更新回滚,不怕代码历史丢失。
此外,git还有许多强大之处,好比git的分支就比svn的强太多,这些就留给你们摸索吧。
再说说maven,咱们每作一个项目,都要往lib目录扔不少jar包,spring的啊hibernate的啊apache的啊等等,这样就会致使不少包不知从哪一个角落下载回来的,名称千奇百怪,版本也不明,项目多了之后还得本身复制来复制去,容易有多种不一样版本的包混杂。maven最基本最重要的功能就是管理这些项目间的依赖关系,用一个xml来维护。若是你的工程要用spring,你就在maven的pom.xml里配一下spring的项目名称和版本号,要用其余的也同样。
得益于maven已经成为java世界的主流工具,绝大部分知名的项目都在maven中央仓库有标准名称,有各类不一样的版本存在,你只要配下名称,配下版本号,maven就会自动从网上为你下载jar包并让你的工程依赖上,你的本地硬盘的仓库目录能看到层次分明的你用过的全部第三方项目的jar包和源代码,不再用去下载那些来路不明的jar包再扔到工程里了,也不用担忧写同一个项目的两我的一个用了3.0版的spring,一个用了2.5版的spring,以致搞出莫名其妙的问题。
有了maven,咱们再也不须要往git或svn提交jar包,项目库的体积大大减少,下载项目变得快多了。并且只要提交一个pom.xml文件和你的代码,其余人天然也能下载到和你本地如出一辙的第三方jar包,下过一次某个jar包之后,其余项目再用同一个jar包时,maven天然会使用本地仓库文件夹里存在的jar包,不须要再次下载,也不会出现不少个拷贝。
另外一个好处是maven的pom.xml任何一个主流ide工具都认识,均可以导入项目,你不用再操心你提交的.project和.settings文件由于别人的eclipse版本和你不一样而导不进去,也不用再担忧有人用的是别的ide认不得你的eclipse项目元文件,你不须要提交这些和开发工具备关的文件到服务器上了。
若是咱们身处异地,要共同开发或者分享点什么项目,毋庸置疑,maven和git必然是极大提高效率的两大基础利器,但愿你们能早日投入精力学会这两个工具,扫除技术沟通的阻碍,不要再停留在史前时代了。 java