1、何谓版本控制 它是一种软件工程籍以在开发的过程当中,确保由不一样人所编辑的同一档案都获得更新,它透过文档控制记录程序各个模块的改动,并为每次改动编上序号,而且编辑错误以后还能够回溯到之前的版本java
2、为什么要使用版本控制系统 git
一、备份源代码 github
二、能够方便进行代码版本的回溯 算法
三、能够记录是谁提交的代码 apache
四、控制代码访问权限 windows
五、解决多人开发形成的代码冲突 服务器
3、可供咱们选择的版本控制系统 网络
一、VCS 二、VSS、CVS 三、ClearCase、SVN、Perforce、TFS 四、Mercurial(水银/水星)、Git架构
4、比较上面的版本控制系统(版本控制发展历史)分布式
一、本地版本控制 二、集中版本控制 三、分布式版本控制
5、咱们喜欢采用的版本控制系统
一、SVN 二、Git 6、SVN 一、SVN的历史:2000年2月,CVS做者之一Karl Fogel,CollabNet公司
二、SVN的架构 1.SVN网络示意图 2.SVN的部署结构 (1)单机结构 (2)本地文件系统 (3)网络结构 (4)C/S结构 (5)B/S结构
3.SVN的存储结构 (1)SVN仓库(Repository):保存各个版本的软件资源、记录版本更新历史、维护版本分支……
(2)本地的工做目录(Working Directory):开发者进行工做的地方
4.C/S结构下的存储示意图
三、软件 1.Apache官网地址:http://subversion.apache.org 2.TortoiseSVN官网地址:http://tortoisesvn.tigris.org
四、SVN图标的含义 五、SVN经常使用实操 1.Checkout检出 2.Add添加文件或文件夹 3.Commit提交 4.Update to revision历史版本回溯
5.Update更新 6.冲突 7.锁定 8.创建分支
9.忽略: (1)设置SVN忽略文件和目录(文件夹):http://blog.csdn.net/hemingwang0902/article/details/6904205 (2)SVN 管理Android项目中忽略的设置和注意事项 1)如下不该该归入SVN版本控制范围: # bin目录。编译后生成的目标文件 # gen目录。自动生成的R.java 尤为是bin和gen目录,必定要列入SVN忽略列表中!!切记。
2)若是是在Eclipse中,要设置build path让其忽略.svn文件夹 菜单 - Project - Properties - Java Build Path - Source - xxx/src - Excluded,双击或点右边的编辑,在Exclusion patterns中加入"**/.svn/**",让Eclipse忽略.svn目录便可。
(3)Ignored Resource .settings .class target *.iml .idea
10.把一个项目文件夹发布到SVN服务器上 11.Export导出 12.备份
六、标准的SVN目录结构 1.trunk主干:主版本的代码 2.tags里程碑版本:保存相对稳定的版本 3.branches分支:开发有必定风险的功能
七、SVN的使用规范 1.先更新,再提交 2.多提交 3.不要提交不能经过编译的代码 4.每次提交必须书写明晰的标注 5.提交时注意不要提交本地自动生成的文件 6.不要提交本身不明白的代码 7.慎用锁定功能
八、SVN工做的一天 7、Git 一、Git简介 二、Windows下Git的安装 1.Windows版的Git官网:https://git-for-windows.github.io/ 2.TortoiseGIT:https://tortoisegit.org 三、Git的优点 1.分布式,强调个体 2.公共服务器压力和数据量都不会太大 3.速度快、灵活 4.任意两个开发者之间能够很容易的解决冲突 5.离线工做 四、论述SVN与Git的区别 1.SVN是C/S结构,集中式;Git分布式,也能够有服务端 2.SVN客户端只有工做区域;Git客户端有工做区域和本地仓库 3.SVN不能离线操做;Git可离线操做,可日志和进行本地提交 4.SVN速度慢;Git速度快 5.SVN是按文件方式存储;而GIT把内容按元数据方式存储 6.SVN的分支就是版本库中的另外的一个目录;而Git同一个工做目录下 7.SVN有一个全局版本号;而Git没有 8.GIT的内容存储使用的是SHA-1哈希算法,因此内容的完整性要优于SVN
9.SVN的checkout对应Git的clone、pull、fetch 10.SVN的update对应Git的checkout 11.SVN的delete对应Git的rm 12.SVN的commit对应Git的push 8、Android Studio协做开发 一、Android Studio支持的协做开发插件 1.SVN 2.Git 3.CVS 5.Mercurial 二、在AS使用SVN与Git 1.导入导出工程 2.提交代码 3.更新代码 4.还原代码 5.忽略相关文件 6.解决代码冲突 7.查看修改历史 三、如何利用版本控制工具进行团队协做开发 1.设置访问权限 2.配置忽略 3.解决代码冲突 4.有风险的功能在分支下操做,开发成功再进行合并 5.讨论和代码审核