有关版本控制的文档概念.docVIP

  • 5
  • 0
  • 约6.34千字
  • 约 11页
  • 2017-03-29 发布于湖北
  • 举报
为什么要用版本控制 月光宝盒:可以回顾过去,代码可以回顾到10年前 1.可以找回以前的东西。记录详细的修改记录 【版本控制不仅仅是团队合作们时用,而且当自己的代码想要回去到以前的时候就可以用版本控制】 2.必须要用版本控制,不仅仅是团队,而且还有个人. 3.版本分支(branch):版本开发最重要的东西 版本控制的好处 1.在原来的基础上可以加新的东西,也可以 对比(树枝:苹果上长梨子) 2.dev(test)开发测试分区,把加的新的东西分一个区,分支与分支merge合并 3.新建分支,成功就把代码合并,失败就把那些代码不要了。 版本标签(tag) 标签:就是对你的版本库某一时刻做一个快照,对代码进行记录,以后再有需要的时候可以通过tag进行提取以前的代码(就是你的大头贴,你的青春定格到这照片上,代码快照,把你以前的代码相当做一个标记) 如:公司上个月发给用户的代码,无标签的话怎么找? 版本冲突 For Example: |--person1(修改代码,提交版本修改为6) A(版本5)------| |--person2(修改代码,当1提交后,2不能提交了。版本号改变) 上面例子的问题:当两个用户同时修改同一个文件的同一个地方时 1 版本冲突只能够人工解决,电脑不能帮你解决。 2.冲突情况:A和B同时修改一个文件的同一个地方。 3. 解决:去掉横线的过程就是解决版本冲突的过程。 *如何降低版本冲突:每次先更新再提交 检出项目(代码)Check out SVN:用户重新登录时应把密码保存的文件夹删除(C:\Documents and Settings\Administrator\Application Data\Subversion) SVN的缺陷 缺陷: 必须要依赖服务器,如果服务器挂了,就提交不了代码 SVN: |--C server-- |--C 主从式的:多个客户端对应一个服务器 |--C GIT: |------C | |push(部署服务器之间的通讯) server--|------C 分布式(Git): 每一客户端都是一台服务器 | pull || |------C 注: 我们要多提交代码(改动了一个功能) 一天提交一次,一天提交五六次 新的版本控制Git 7.1结构 1.Server ---c1 ---c2 ---c3(clinent) 2分布式的版本控制:每台机器都是服务器和客户端 3.服务器之间的通讯:从A服务器推向B服务器—push 7.2来历及介绍 1. Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 3.EGit的下载地址:.egit 4. 主从式 分布式 服务器 服务器 / | \ push/↑ | \pull/fetch↓ client1 client2 client3 s1(本地提交)------ s2------s3 s1推送s2推送s3 7.3Git和CVN的区别 分支更快、更容易。 支持离线工作;本地提交可以稍后提交到服务器上。 Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。 Git 中的每个工作树都包含一个具有完整项目历史的仓库。 没有哪一个 Git 仓库会天生比其他仓库更重要 7.4Git使用简单介绍 7.4.1.branch分支-版本开发的核心 1.用处: 当项目开发中途时,需要插入其他开发项目(属于一个项目) 2. dev(test)开发分支: 如在开发过程中添加新功能,但新的功能如果开发成功就会有很大的效益,不过失败的时候项目崩溃。这时用到分支,就是在项目开发的过程中,添加的分支不过成功与失败,都对项目本身无任何影响。 3. 3.marge(合并): 开发成功,最后进行合并,(但会出现版本冲突的问题,版本冲突不能避免,尽量减少这种问题(多更新) 分支在同一个项目下面增加新的功能,通过分支对旧的版本和新加的功能进行比较。 如下图: win95 |__win98 | |--dev(text)开发分支,把新加的功能加一个分支 | | | | | Merge(合并)-如果测试失败了,就不合并了,成功了就合并。/版本冲突 同一个项目 master- 主分支 switch to new branch 新增分支 默认主分支master

文档评论(0)

1亿VIP精品文档

相关文档