不光java,所有的项目都得进行版本控制。
成都创新互联是一家集网站建设,新安企业网站建设,新安品牌网站建设,网站定制,新安网站建设报价,网络营销,网络优化,新安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
团队合作,很多人同时在做一个软件;单个人写,天天你都在写在改你的软件。
如何协调不同人同时编写同一个程序和同一个人不同时间编写的程序(当然,版本控制来自软件业,现在已经发展到很多行业了,比如CAD数据管理、产品数据管理等等)就需要手段,来确定的描述某个时间点的软件(数据)的状态,这个手段就是版本控制。
说通俗点,软件也是个产品,产品从设计到销售到用户消费到成为垃圾,它有一个生命周期,某一个产品只有它自己的一个生命周期(比如说一台爱疯4s),而一种产品(爱疯4s)整个产品也是有生命周期的,周期完了,进入下一个周期(爱疯5)再同样的来骗你们的钱,这是现在包括软件在内的产品共用模式,咋个区分爱疯4,4s,5,就得靠版本控制,而对于软件来说,修改一行代码,或者是一个参数、字母,软件就有可能发生巨大的变化,很多人同时在修改,或者你一个人改了几年了,就没人也没办法记住这些修改,版本控制(软件)就是用来帮忙记住这些个修改的手段。
java项目一般都是团队开发,当多人共同编写一个项目的时候。
代码的整合就需要用到专门的源码管理工具了。
另外java项目版本的不断更新,也需要版本的管理。
所以源码管理与版本控制工具也是每个java程序员必须要熟练掌握的。
目前比较流行的java版本控制工具主要有svn、git这两款软件。
四川北大青鸟认为这两种工具也是每个java程序员必须要熟练掌握的。
SVNSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。
互联网上很多版本控制服务已从CVS迁移到Subversion。
说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
SVN的缺陷是过分依赖网络,不适合分布式开发。
使用svn的工作流程如下:1、早上从从服务器下载项目组最新代码。
2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。
因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。
3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。
GitGit是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持(ps:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。
并且在push和pull的时候和服务器端还是有交互的。
),使源代码的发布和交流极其方便。
目前GIT已经可以在windows下使用,主要方法有二:msysgit和Cygwin。
Cygwin和Linux使用方法类似,Windows版本的GIT提供了友好的GUI(图形界面),安装后很快可以上手使用。
首先提交的代码都要提交cvs,这样别人在打包前更新代码会看到冲突的地方
然后打包是打成war包。
先在本地服务器测试,没改java代码的话可以只替换jsp或者css,js之类的文件,图片也一样
改了java代码就一定要重新打包重新部署
项目上线一定要做好旧版本的备份。因为不知会遇到什么突发情况,部署失败的原因很多。如果部署失败要立即恢复旧版本以免影响线上功能正常运行。备份的话只保留最近一个能正常运行的就行,其它老版本代码在cvs上都能找到。
ps代码同步很重要