码迷,mamicode.com
首页 > 移动开发 > 详细

Android-版本控制 SVN & GIT

时间:2016-06-21 07:54:32      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

一 、 虚拟机的安装

常见的虚拟机产品有 VMware 公司的 VMware Workstation、Oracle 公司的 VirtualBox。因为 VMware 体积相
对庞大(当然功能也强大),而我们只需要虚拟机的基本功能,因此在本文档中本人主要介绍 VirtualBox 虚拟机。

VirtualBox 的下载地址:http://pan.baidu.com/s/1gdd7FLx
深度精简版 XP 镜像下载地址:http://pan.baidu.com/s/1hqCb8Rq

下载好的软件截图如下:

技术分享
技术分享

就和安装普通软件一样安装 VirtualBox。安装好以后启动该软件,主界面如下图所示。

技术分享

新建一个虚拟电脑。点击左上角 按钮。弹出如下对话框,在对话框中输入名称,并选择操作系统类
型为 Microsoft Windows,版本选择 Windows XP (32 bit)。

技术分享

点击下一步,进入如下图界面。在这里我们使用推荐的默认内存大小即可。

技术分享

点击下一步,进入如下图界面。对于第一次创建我们可以直接选择“现在创建虚拟硬盘”选项。

技术分享

点击创建,进入如下图界面。这里使用默认的(VDI)虚拟硬盘文件类型即可。

技术分享

点击下一步,进入如下图界面。在选择物理硬盘存储方式上,我们使用默认的(动态分配)即可。

技术分享

点击下一步,进入如下图界面。在该向导页中我建议使用期默认的配置,期将默认的虚拟硬盘放在 C 盘下面,如
果 C 盘空间不是很足,我们可以指定一个目录用于存储虚拟硬盘。

技术分享

点击创建,那么我们的虚拟机配置就暂时可以了,但是因为我们还没有在该虚拟机 myXP 中安装 XP 系统光驱,
因此还无法使用。下一步就是安装系统文件。

给创建的虚拟机安装 XP 操作系统。

技术分享

在如上图所示界面选中 myXP 条目,然后点击启动,进入如下图界面。

技术分享

在上图界面中选择设备->分配光驱->选择一个虚拟光盘。在打开的文件浏览目录选择我们提前下载好的

技术分享

镜像文件即可。这时如果系统没有自动启动,那么我们就选择控制->重启即可。

在安装过程中会出现如下界面,我们将鼠标焦点被虚拟机获取以后,选择 Enter 键,即选择默认选项即可。

技术分享

技术分享

技术分享

技术分享

以上步骤大概需要花费 30 几分钟,然后就看到令人怀旧的 XP 系统了。

技术分享

2. 为什么使用版本控制

版本控制就是通过对软件开发进程中的文档及源码的版本(每一次改动)进行控制(记录、追踪、比较、合并
等)。

为什么使用版本控制:
及时了解团队中其他成员的进度。
轻松比较不同版本间的细微差别;
记录每个文件成长的每步细节,利于成果的复用(reuse);
资料共享,避免以往靠拷贝文件造成的版本混乱;
人人为我,我为人人。所有成员维护的实际是同一个版本库,无需专人维护所有文件的最新版本;
协同工作,大大提高团队工作效率,无论团队成员分布在天涯还是海角;

版本控制常用的软件有哪些?

CVS(很少使用) (Concurrent Version System)是免费开源的配置管理工具,其源代码和安装文件都可
以免费下载。由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。不过 CVS 的部署比 VSS 要复杂一些。

SVN(用的很多) (Subversion)作为 CVS 的重写版和改进版,其目标就是作为一个更好的版本控制软件,取代 CVS.总的来说,CVS 在发展的过程中逐渐失去优势,已经不再适合现代开发,目前,绝大多数 CVS 服务已经改用 SVN。

ClearCase (很少用很贵很大)具体的说是做配置管理的工具, 只是 SCM 管理工具其中的一种。 是 RATIONAL公司开发的配置管理工具,类似于 VSS,CVS 的作用,但是功能比 VSS,CVS 强大的多,而且可以与 WINDOWS 资源管理器集成使用,并且还可以与很多开发工具集成在一起使用。但是对配置管理员的要求比较高。而且 RATIONAL的产品一般都很贵。如果自己找到 CRACK 的话就没有技术支持了。

VSS(微软的软件,多集成在微软的开发工具中,java 程序员基本不用) (Visual Source Safe)为微软的
产品,较为易学易用,使用微软的产品进行开发通常都用这个,但是 VSS 只能在 windows 平台上运行,并且不是免费软件,安全性也不高,因此应用并不太广泛。

GIT(很小很强大用的很多)是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

3. SVN 实战

介绍了版本控制,现在就开始实战了

3.1 SVN 简介
SVN 是近年来崛起的版本管理工具,在当前的开源项目里几乎 95%以上的项目都用到了 SVN。SVN 项目的初衷是为了替换当年开源社区最为流行的版本控制软件 CVS,在 CVS 的功能基础上有很多的提升,同时也能较好的解决CVS 系统的一些不足。

3.2 SVN 服务器的安装

VisualSVN Server 是一款免费的 SVN 服务器软件。有多个版本可供下载,本人在此以 2.5.5 版本为例进行演示,该版本跟 3.0.0 稍微有差别,但是基本功能基本一样。

下载地址:
VisualSVN-Server-2.5.5.msi:http://pan.baidu.com/s/1dDtkRmx
VisualSVN-Server-3.0.0-win32.msi:http://pan.baidu.com/s/1gd8FPqN
VisualSVN-Server-3.0.0-x64.msi 下:http://pan.baidu.com/s/1pJv8qi3

我们可以将 VisualSVN-Server 安装在本机上也可以安装字虚拟机上。为了更形象的模拟真实的开发流程,我将 VisualSVN-Server 安装在我们事前安装好的虚拟机上。

注意:为了方便直接将本地的文件拷贝到虚拟机上,我们还需要干两件事情
1)在本地安装 VMTTransferFiles setup_host.exe
2)在虚拟中安装 GuestSetup.iso 镜像

VMTransferFiles.zip 下载地址:http://pan.baidu.com/s/1sjFMZuP

下载好以后,解压。

技术分享

然后先安装 setup_host.exe,安装前一定得先将虚拟机关闭。然后启动虚拟机,安装增强功能,然后根据提示重启虚
拟器并安装 GuestSetup.iso(安装方式跟安装 XP 光驱是一样的)。

把拖放功能打开。然后分配光驱,选择 GuestSetup.iso 镜像。上面的所有步骤都执行后,电脑需要重新启动。然后就可以实现文件的拖放功能了。

技术分享

技术分享文件拖到虚拟机中,如下图所示。然后双击开始安装。安装比较简单,中间会有几次向导提示,我们使用期默认的选项即可。一路点击下一步,直到安装完成。

技术分享

安装好以后,软件会自动打开 VisualSVN-Server 主界面,如下图所示。

技术分享

安装好以后如何验证是否已经成功?打开一个浏览器,在地址栏输入:https://127.0.0.1,如果出现如下界面则说明安装成功了。

技术分享

在本地电脑端链接虚拟机中的 SVN 服务。
首先通过将虚拟机的网卡模式设置成桥接网卡,如下图。然后在虚拟机的命令行中,输入 ipconfig 查看当前虚拟机的ip 地址。获得这个 ip 地址后在本地电脑上的浏览器地址栏输入 https://{ip}即可访问。第一次访问的页面效果跟上图一样。这样我们的 SVN 服务就已经安装完毕。

技术分享

创建子仓库。在虚拟机中打开 VisualSVN-Server,右击 Repositories,然后在弹出的快捷菜单选择 Create New Repository。如下图所示,输入 Repository Name:mobileSafe(一般都是以自己的项目名称来命名)。然后点击 OK。

技术分享

添加用户,并赋予权限。
在第一步完成后会看到如下图所示界面。

技术分享

右击 mobileSafe->Properties,弹出如下窗口。

技术分享

点击 Add 按钮添加一个用户,在弹出的 Create New user 对话框中输入姓名和密码,然后点击 OK。

技术分享

给新创建的用户非配权限,权限共分为 No Access、Read Only、Read/Write 三种。我在这里给 zhangsan 分配了 Read/Write 权限。然后点击确定。

技术分享

用浏览器,访问仓库。
在 VisualSVN-Server 主界面,右击我们创建的 mobileSafe 仓库,然后选择 Copy URL to Clipboard,将 URL地址拷贝到剪切板。

技术分享

打开浏览器,将该 URL 地址粘贴到地址栏。打开浏览器输入用户名和密码,进入如下界面。

技术分享

安装好 SVN 服务器之后,我们还需要安装客户端才可以使用。因此下面将介绍 SVN 客户端的安装和使用。

3.4 TortoiseSVN 的安装和使用

TortoiseSVN 是 SVN 版本控制系统的一个免费开源客户端,它是 SVN 版本控制的 Windows 拓展。可以使你避免使用枯燥而且不方便的命令行。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里点击右键操作就可以了。

TortoiseSVN 下载地址:
64 位-TortoiseSVN1.6.7.18415x64svn1.6.9.zip http://pan.baidu.com/s/1o6smAoi
64 位-TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi http://pan.baidu.com/s/1mgBn6Qk
32 位-TortoiseSVN-1.7.9.23248-win32-svn-1.7.6.msi http://pan.baidu.com/s/1jGgj2ke
32 位-TortoiseSVN-1.8.8.25755-win32-svn-1.8.10.msi http://pan.baidu.com/s/1o6C5xcY

我们选择一款适合我们系统的软件下载到本地.

3.4.1 TortoiseSVN 的安装

双击安装程序即可启动安装程序,该程序的安装很简单。基本是点击下一步下一步就 OK 了。

技术分享

在上图界面选择接受协议,然后点击 Next。

技术分享

上图界面我们使用默认设置即可,继续点击 Next。之后点击安装直到安装完成即可。安装好以后,在任意地方鼠标右击,会看到如下快捷菜单,则说明我们安装成功。如果是低版本的客户端可能需要我们重启电脑才能看到。

技术分享

3.4.2 单用户版本控制

在电脑桌面(最好某个目录下)创建一个空文件夹,作为 svn 目录,我创建的目录名为 workspace(注意:必须为空目录)。

使该目录跟 SVN 仓库关联起来。

在上一步创建好的空文件夹中右击,选择 SVN Checkout,然后在弹出的 Checkout 对话框输入 URL,则个 URL我们在 VisualSVN 中拷贝就行,不用手动输入。

技术分享

点击 OK,弹出如下对话框,填上用户名和密码。

技术分享

看到如下对话框,代表已经关联成功。VisualSVN 中的 mobilesafe 仓库没文件,如果有的话会检出到我们创建的文件夹中,并关联起来。

技术分享

被关联好以后的文件夹会图标会加上一个绿地白色的对号。但是由于系统刷新时机的问题,我们可能并不
能马上看到这种效果,这时候我们可以重启计算机,然后一般就能看到该图标。该图标里面有一个隐藏文件。我们打开系统的文件夹选项,让隐藏文件及文件夹显示出来。可以看到如下隐藏文件。

技术分享技术分享

打开.svn 文件家,发现如下文件。这些文件都是 svn 进行版本控制时用于存储数据的配置文件。如果将这些文件删除则关联就失效了。

技术分享

创建一个新文件,并提交到服务器在 workspace 目录下新建一个文本文件,打开文本文件输入一些内容。新创建的文件图标是一个问号,如下图所示。

技术分享

右击该文件,选择 TortoiseSVN->Add,将该文件添加到服务器。

技术分享

这里的添加到其实是计划添加到,并未真正添加到服务器,图标如下所示。

技术分享

然后再次右击该文件,选择 SVN Commit,如下图所示。将该文件真正添加到 SVN 服务器上。

技术分享

在提交的时候会弹出如下对话框,在该对话框中我们可以输入关于该文件的描述信息。然后再点击 OK。

技术分享

提交好以后,文件的图标是一个对号,代表跟服务器同步完成。

技术分享

修改上面新创建的文件,然后重新提交。
打开上面的文件,然后修改内容后。发现图标变为如下图所示。该图标代表文件已经修改。

技术分享

修改后的文件,我们再次提交,则图标就会变成正常的绿色对号状态。
在提交更新的时候弹出如下对话框。

技术分享

双击上图红色框中内容,弹出如下图的对比视图。通过该视图我们可以查看本次提交的内容跟服务器中最新的版本之间的不同之处,同时也可以再次编辑我们的文件,然后再提交。

技术分享

查看 SVN 服务器中所有的版本文件。

技术分享

从该 log 对话框中可以看到该文件的各个版本以及提交日志,如下图所示。

技术分享

将当前文件恢复(回滚)到第二个版本。
通过上面的 Log 看到我们的文件共有三个版本。右击第二个版本,在弹出的对话框中选择 Revert to this revision,然后在点击确定即可。如果只是想把第二个版本保存,那么选择 Save revision to 条目即可。

技术分享

3.4.3 版本库的备份和还原

版本库的备份很简单,只需要将主仓库中我们创建的仓库文件夹拷贝到一个相对安全的目录下(拷贝到另外
一个电脑上,甚至是异地备份,比如北京的数据备份到上海,这样就算地震来了也不用担心数据丢失)。

版本库的还原其实就是在 VisualSVN-Server 中将备份出来的仓库导进去。 就好比将我们从 Eclipse 中导出来工程项目导入到另外一个 Eclipse 中。

如下图所示,右击 Repository->所有任务->Import Existing Repository。

技术分享

在弹出的对话框中输入备份库地址和新仓库名称即可,如下图所示。

技术分享

3.4.4 冲突的解决

当多个人同时对一个文件进行修改的时候,比如 A 先提交了,B 后提交,那么 B 就可能会遇到冲突问题。冲突时的异常信息如下图所示。下面异常信息显示当前版本已经过期,这是因为 A 和 B 同时下载该文件时假设该文件的版本号是 1,然后 A 和 B 就同时修改该文件,A 修改后提交了,那么每提交一次,版本号就加 1,这时候服务器中文件的版本号已经变成 2 了。当我们的 B 改好去提交的时候,这时 B 客户端的版本号还是 1,而服务器版本号是 2 已经低于服务器版本号,因此报了如下 out of date 异常。

技术分享

根据提示让我们 try updating。那么接下来我们右击该文件,选择 SVN Update。

技术分享

当 Update 的时候,出现了如下异常,就是版本冲突。版本冲突的图标是黄色感叹号。

技术分享

这时候我们需要右击冲突文件,然后选择 TortoiseSVN->Edit conflicts。

Android-版本控制 SVN & GIT

标签:

原文地址:http://blog.csdn.net/wuya_meiya/article/details/51693994

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!