android版本控制

    这里比较抽象一点,因为网上有很多教程,就大致写一下课堂笔记好了

  

1 版本控制

为什么需要版本控制:

①原本正常工作的代码,修改之后再改回来程序不能正常工作

②程序昨天还能正常运行,修改了之后,今天就不能正常运行了.

代码冻结环节:当遇到重大节假日的时候,春节前一两周把代码冻结起来,不允许修改.

③客户修改需求

④有人在代码里做了手脚,程序员不承认这是自己的代码

⑤代码拥有者的权限

⑥A修改了一部分代码,B修改了一部分代码,两者分开用都可以,放在一起出BUG

⑦工作量统计

⑧项目源码版本的备份和记录

2常见版本控制软件

①CVS 05年之前用的,已经被淘汰了

②SVN 05年之后开始流行,有CVS的全部特性

③ClearCase IBM开发的,收费的,一般都是大公司用,操作复杂,容量大

④VSS 微软开发的,用的人比较少C#程序员都用的少.

⑤GIT 前面四种是集中式的,GIT是分布式的版本控制软件

3.SVN入门

3.1全称Subversion,在当前开源项目里,几乎绝大部分都使用到了SVN,初衷是为了替换当年开源社区的CVS,在CVS的基础上进行了升级与拓展.

使用SVN,必须要有SVN服务器(一般有专人管理)程序员每做完一次开发,就要把代码提交到服务器里.

SVN服务器安装:(查看对应的安装帮助文档即可)

下载地址:www.visualsvn.co/server  点击download

SVN默认端口号443(https更安全),否则为80(http)

检测SVN是否安装成功Https://127.0.0.1//  出现欢迎界面即可

arp-a 查看当前所有的ip端口号,在服务器中配置好IP地址(网络共享中配置)

额外:打开服务器控制界面

在Repositories中可以保存大量的代码,右击可以创建新的小仓库

创建时候的选项,第一个选择创建一个空仓库,然后跳到第二个界面仓库权限设置①除了自己之外别人不能访问.②所有人可以访问,③自定义

选择自定义权限,添加用户即可,然后在创建的仓库里可以选择拷贝仓库的URI路径

这个路径中https://主机名(替换成IP地址,因为主机名有时候只能局域网访问)/svn/.....

但是这样浏览器打开太麻烦,所以使用工具: TortoiseSVN,版本控制开源的客户端

SVN客户端:TortoiseSVN 下载地址http://tortoisesvn.net/downloads

在客户端打开网页输入地址即可(有对应的安装帮助文档,对照安装即可)

安装完成后需要重启电脑

4 SVN实战

4.1 单用户版本控制

①把本地的工作空间与服务器的代码仓库同步关联起来

在工作空间中右键,SVNCheckout 打开界面输入URL仓库路径即可(这里要注意不要输入主机名,而是IP地址),确认之后弹出提示,证书问题,由于是私人服务器会有证书问题,所以不用管它,然后添加用户名密码即可,执行完之后,文件夹图标会改变,同时在文件夹下会多一个.svn隐藏文件夹,记录服务器信息,认证信息,文本信息等.删除.svn可以取消同步

②不同的文件图标代表不同的状态(如果64位系统安装了32位客户端可能会出现图标丢失.)

?号图标代表版本控制器不知道文件信息.

右键文件add添加即可,变成加号图标,该文件被计划加入版本控制器.

右键绿色的提交选项可以把文件提交,里面可以写 message消息,开发的时候这个消息一定要写完整.下面的Change made 代表文件被改变的内容,会显示旧版本跟新版本.点击OK就提交成功.会显示版本,

提交完之后,该文件图标会变成对号√.代表提交成功.

在其他电脑中,创建同样文件名的文件夹,输入用户密码即可以看到自己的代码文件.

如果修改文件的内容,文件图标就会变成一个红色感叹号,提交后变成对号

如果想看文件的版本变化,右击文件TortoiseSVN>>Show log可以显示版本日志

通过右击对应的版本号,可以把它保存在本地,拿到历史的代码源文件

Author 可以看到对应提交的作者

这样就解决了前面①-④个问题

⑤问题,别的人只能查看代码,不能修改代码

4.2 备份版本控制服务器

代码仓库目录下的子仓库,复制出来即可,就可以把代码备份出来,右击代码仓库可以导入.导出就只能复制文件夹了.

5,多用户版本控制

在绑定的控件中间 右键找到Setting>>save data可以清空所有数据

当两个用户同时都有权限对这个代码仓库的同一个文件进行操作的时候,一方更新了文件内容,并提交.而另一方在没有更新文件的前提下,对文件进行了修改,也要提交的时候,就会出错:提示文件已过时,需要先更新文件.

但是更新的时候会出现conflict冲突这时候可以右击文件EditConfilct查看冲突

在处理冲突的窗口中,右击冲突的地方可以对冲突进行处理,选择处理方式,合并逻辑,修改完成后,右击选择

为了避免冲突,每次开发之前先进行update,更新一下文件,做完一个功能模块就提交一次(不要把错误的代码提交上去了).

额外:一键处理代码冲突:直接右击点击Resolve,两个修改都会保存下来

5.2 svn文件锁

右击文件点击Properties,可以给文件添加一把锁:svn:needLock  需要制定对应的解锁密匙.在添加属性的属性new里面选一个other,然后再选择锁,添加密匙,不然就是设置的可读

超级管理员可以把锁强制打开

开发中这种锁用得比较少,因为一旦被锁了,其它开发人员就不能访问,制定锁的人一旦有事,对于项目的影响很大.

5.3 SVN提交代码的原则

①先更新再提交

②多次提交,写好Message(GIT里面是强制要求写Message的)

③不要提交不能通过编译的代码,必须可以编译运行,不然会影响到它人开发

④每次提交必须书写明晰的标注

⑤提交的时候不要提交本地自动生成的文件

⑥不要提交自己不明白的代码

⑦慎用锁的功能,只有编辑哪些无法合并的文件时,才能适当的使用锁功能.

6.android下不用提交的文件夹(自动生成的都不要提交)

6.1 因为自动生成的文件提交之后,如果修改了java代码,其它自动生成的文件(.class文件之类)也会改变.

6.2 右击找到ignore list忽略选项,点击即可忽略对应文件

android项目下bin,gen 目录是自动生成的

建议不要删除文件,可能会导致svn服务器出问题,把java代码注释掉,并备注不能使用即可.

6.3插件安装:①到eclipse的dropins目录下创建一个文件夹(不要中文)把插件解压进去即可. 右击需要同步的项目,Team>>Share project设置目录即可,

②通过eclipse中插件安装也可以.

两个都可以,看个人怎么选择,目录过滤选择

7.SVN标准目录结构

7.1 Trunk:SVN目录的主分支,表示日常开发中的项目,任何时候它的代码都是罪行的,Trunk应该只用来开发将会成为你的下一个版本的重要代码

7.2 Branches:

Experimental branches 创建

Bug fix branches Bug 修复版本分支

7.3 Tags 一个Tag代表一个可用的版本,里程碑,一般做备份

实际应用,

一般的开发文件在Trunk目录下,如果这个项目确实可用,就给它转到tag里面(右击拷贝即可,相当于是在Trunk目录下创建了一个新文件夹用来保存这个可以使用的项目).

如果一个版本发生了重大BUG,就在服务器端创建一个分支文件夹(右击Repo-browser可以看到服务端的文件夹列表,可以创建文件夹,前提是有权限),在开发人员的文件夹中绑定这个Bug fix branches文件夹的路径,对其进行修改.

如果有创意,想要添加到版本里,会先放到Experimental branches 进行测试.

7.4 开源项目获取方式

http://code.google.com  svn 开源项目在谷歌上的托管(放上去源代码就透明了)

所有的谷歌开源项目网址格式是http://code.google.com/p(项目简写)/项目名

droidwall 安卓下的防火墙源码,可以自己去拼接下载

项目名称.googlecode.com/svn

8  git

8.1 git简介

采用分布式版本库,不需要服务器端软件,就可以运行版本控制,使得源代码的发布和交流极其方便.分布式设计模式:自己既是服务器,又是客户端,每一个小元素都有自己的功能.就算一个小元素挂掉了,其它小元素也能正常工作,小元素指的每一台电脑.

msysgit是Windows版的Git,并提供了命令行操作

Cgwin+windows完美模拟linux命令的软件

TortoiseGit是Git版本控制系统的免费yi/ge开源的客户端

git特点:必须写注释才能提交,由于版本控制是在本地的,用户名和密码是不做校验的.

git的Commit是提交到本地的,它也有一个共享版本库,类似 SVN的服务端,通过Clone可以从中央共享版本库的数据复制到本地,本地通过PUSH可以把数据提交到共享版本库,PULL操作可以从共享版本库更新数据.

git不知道为什么在电脑上有问题安装不了,只好暂时先放弃了,svn现在用得比较多,用好它就行了

时间: 2024-10-26 14:32:48

android版本控制的相关文章

XX项目总结

项目名称:XX移动互联网App 使用技术: Server:ThinkPHP,MySQL,Apache Client:Android 版本控制:git 项目细节待更新,涉及商业秘密,暂不公开~~~~

android的版本控制

在一个团队项目中,项目的版本控制,一方面促进团队的协同能力,另一方面提高项目的进度 即使一个人的项目也最好使用SVN这样的版本控制,可以清楚的知道自己的修改的代码,和项目进度等.合理的托管,也让优秀的代码授人以渔. 下面整理一种简单的SVN插件:subclipse.site-1.8.18--SVN 首先在1.http://www.svnchina.com/上注册 如果是subclipse直接解压放到在eclipse中的文件夹dropins中 如果是site-1.8.18-SVN直接在Instal

Android studio如何使用SVN进行版本控制?

通过这两天对Android Studio的研究,终于搞通了Android Studio的基本操作及与SVN的相关关联操作(这样才能在公司的开发工作中使用):Google年底将会停止ADT插件的更新和支持,全面转向Android Studio(果然是自己的孩子啊),因此使用Android Studio进行安卓项目的开发也是大势所趋,项目得闲之时研究一下Android Studio的使用:Android Studio的基本编辑操作现在网上已经很多了,需要的可以找着看看,下面是这几天摸索出来的Andr

Android Studio如何安装SVN版本控制工具

在Android Studio的菜单中选择VCS->Browse VCS Repository->Browse Subversion Repository,如果你已经安装好了SVN,Android Studio会为你打开一个资源管理窗口,如果尚未安装SVN,Android Studio会提示你安装,只需点击确定Android Studio会自动会你安装好SVN,当时要保证你的电脑可以上网. 单击图中的加号,Android Studio会弹出一个窗口,需要在这个窗口输入你SVN的资源地址,如:h

【黑马Android】(12)版本控制SVN&GIT

subversion服务端和客户端安装 VisualSVN-Server-2.7.3.msi TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi TortoiseSVN基本操作和冲突演示 eclipse插件演示 eclipse_svn_site-1.6.5.zip 使用svn案例演示 某研发团队2011年初开发了一款名为Apollo的信息系统,目前已发布v1.0版本.此项目初期已有部分基础代码,研发团队再此基础代码上经过3个月的努力发布了一个功能相对完备的Ap

[Android]egit取消文件版本控制

开发项目,多人合作开发变得越来越重要了,在此同时,使用git作为协同工具也是越来越多,在此,介绍一下egit取消文件版本控制的方法.(egit即为eclipse中的git插件) 1.打开Navigator视图(呃..怎么打开?菜单栏中的Window-->Show View-->Navigator)找到对应项目下的.gitignore文件,若没有便可以创建它. 2.双击打开.gitignore文件,在里面添加需要移除版本控制的文件或文件夹,例如: 这样便可以实现在commit的时候不再显示所移除

Android Studio 项目版本控制

在Android Studio中,项目的versionCode 和versionName 的控制不是在AndroidManifest.xml清单文件中更改的,而是在项目的build.gradle中更改的, 如图:

github 版本控制 android studio

注:本教程实验于android studio 3.1.2 1.下载git :https://gitforwindows.org/   安装 git. 2.配置git 3.配置github 4.上传项目 (1) (2)建立git仓库 (3)选择上传文件 (4)上传成功 5.更新项目,提交 (1) (2) 6.查看提交记录 6.回滚 (1) (2) 7. 分支操作 原文地址:https://www.cnblogs.com/the-wang/p/9055197.html

android studio如何开启与禁用版本控制vcs

1.开启 2.禁用 vcs="svn"清空就可以==>vcs=""