Android-JavaWeb ——版本控制 git和svn
来源:互联网 发布:淘宝店轮播图片制作 编辑:程序博客网 时间:2024/05/22 20:12
版本控制 git和svn
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。更进一步,版本控制系统可以指定和若干不同的远端代码仓库进行交互。这样,我们就可以在同一个项目中,分别和不同工作小组的人相互协作。我们可以根据需要,设定不同的协作流程,比方说针对不同的业务模块设置不同的访问权限等。
13.1 Git简介
自诞生于 2005年以来,Git 日趋成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还具有非线性分支管理功能,可以应付各种复杂的项目开发需求。常见的版本控制系统可以分为三大类:本地版本控制、集中式版本控制、分布式版本控制。Git属于分布式版本控制,即每个客户端都是一个完整的版本库。任何一处协同工作的服务器发生故障,都可以通过任何一个本地仓库进行恢复。
Git的特点:
l 速度快。
l 设计简单。
l 对非线性开发模式的强力支持(允许上千个并行开发的分支)。
l 完全分布式。
l 有能力高效管理类似 Linux内核一样的超大规模项目。
13.2 Git的使用
基本了解Git之后我们先进行安装。本章以window系统为例,安装步骤非常简单,先下载Git,下载地址: http://www.git-scm.com/download/,见下图所示,
下载完成后,双击安装即可。
图 13-1下载Git
Git安装完成之后,我们开始创建版本库。版本库也可以称为仓库,简单来说就是一个文件目录,只不过这个目录中文件会被Git管理,每个文件的增、删、改都会被Git追踪,Git为我们提供了命令工具Git Bash和图形化操作工具Git GUI,
具体步骤如下:
1. 创建一个空目录:mygit,使用git init命令初始化版本库。
在mygit文件夹上点击右键,弹出菜单后选择Git Bash。在Git Bash命令行窗口中输入:git init命令进行初始化版本库。
图 13-2下载Git
图 13-3初始化Git库
命令执行完成之后,mygit目录中会出现.git目录,此目录主要是Git用来管理跟踪版本库的,不要随意修改。
2. Git最重要的配置信息就是用户名和电子邮件地址。每次Git提交时都会使用这两条信息,用来标识是提交更新的用户。使用命令:
Ø $ git config --global user.name“jredu”
Ø $ git config --global user.email jredu@jredu.com
通过以上两条命令可以为Git配置用户名和Email信息,注意以上的两条命令中有--global”参数,这就意味着此次配置为全局配置,所有的Git项目中都使用上述配置的用户名和电子邮件作为commit的用户标识。
如果某些项目不想使用全局的用户配置信息,我们可以单独为此项目进行配置,具体命令如下:
Ø $ git config user.name“jredu001”
Ø $ git config user.email jredu001@jredu.com
3. 查看Git配置信息, 使用命令:
Ø git config --list
图 13-4查看Git配置信息
除了使用以上命令查看之外,我们还可以通过打开指定配置文件来查看信息。Git的全局配置信息存储在”.git/config”的文件中,我们通过如下命令可查看:
Ø $ cat ~/.gitconfig
图 13-5查看Git配置文件
4. 配置好Git以后,就可以进行文件的版本管理了,但是现在只有本地库,如果想与他人合作,还需要一个远程的 Git 仓库,所以我们需要一台服务器。
架设一台 Git服务器并不难,Git可以使用四种主要的协议来传输数据:本地传输,SSH协议,Git协议和 HTTP协议。
如果不想经历自己架设 Git服务器的麻烦,网络上有几个专业的仓库托管服务可供选择。GitHub是目前为止最大的开源 Git托管服务站,并且还是少数同时提供公共代码和私有代码托管服务的站点之一,这样做有几大优点:托管账户的建立通常比较省时,方便项目的启动,而且不涉及服务器的维护和监控。即使内部创建并运行着自己的服务器,同时为开源项目提供一个公共托管站点还是有好处的。下面介绍如何在github上创建远程仓库。
Ø 建立账户:
首先注册一个免费账户。地址 http://github.com/plans ,并点击 Free acount 里的 Sign Up,进入注册页面。
图 13-6 github注册
Ø 建立SSH公钥,步骤见下图所示:
图 13-7用户设置
图 13-8添加公钥
获得SSH KEY的方法,点击开始菜单,打开Git GUI,点击Help中的Show SSH KEY,见下图:
图 13-9打开GitGUI
图 13-10获取Key
将Key全部复制到图10-8提示的位置,点击完成。
5. 打开mygit目录,点击鼠标右键,在菜单中选择Git GUI, 这个图形化工具可以为我们扫描出当前目录中文件的变化,以及保存版本和上传至服务器。首先我们先配置添加远程仓库,见下图所示。
图 13-11添加远程仓库
图 13-21打开远程仓库画面
图 13-22获取仓库地址
把仓库名称和地址填入图13-11所示的对应位置,点击add即可。
6. 连接上远程仓库后,我们就可以对文件进行版本管理了。在mygit目录中新建一个HelloGit.txt的文件,使用GUI工具扫描目录中的文件变化。
图 13-23 GUI工具扫描本地仓库
7. 在编辑过某些文件之后,Git将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。使用GUI工具将HelloGit.txt文件放入暂存区,见下图所示:
图 13-24 GUI工具改变缓存
8. 把文件放入暂存区后,如果确认无误就可以提交更新,注意这里的Commit只是提交至本地仓库,还未提交至github。
图 13-25 GUI工具提交更新
9. 提交到github,点击图13-25中的Push按钮,弹出画面如下图所示:
图 13-25 GUI工具提交更新
10. 在gitHub中查看上传的文件,可以在图13-22的画面刷新浏览器,如下所示:
图 13-26在github上查看文件
11. 到此,我们已经成功把文件上传至github,如果要实现多人联合开发,首先需要从github上下载文件,下面将介绍如何获取远程仓库的最新代码。打开GitGui工具,新建一个目录,见下图所示:
图 13-27新建目录
12. 新建一个mytest的目录,见下图:
图 13-28新建mytest目录
13. 建完目录以后,我们依然要添加远程仓库地址,注意选择立即获取,见下图所示:
图 13-29添加远程仓库
14. 添加完成后,就可以从github上获取代码了,见下图所示:
图 13-30获取代码
15. 获取代码成功后,打开mytest目录,会发现目录中并没有我们想获取的代码,这是因为获取代码之后,必须要操作merge(合并)选项,这时需要为mytest目录新建一个分支,关闭GUI工具,打开mytest目录,右键鼠标选择Git Bash。
要新建并切换到该分支,运行 git checkout 并加上 -b 参数,创建一个名为mytestBranch的分支,见下图所示。
图 13-31新建并切换分支
16. 新建的远程分支必须向github提交一次,新建文件mytest.txt,提交到服务器,提交的步骤都是相同的,这里不再重复。
17. 重新执行获取代码(图13-30),然后进行合并,见下图:
图 13-32执行合并
18. 现在打开mytest目录,可以看见从github中获取的test.txt文件,这就可以实现联合开发了,但是多人对同一个文件进行编辑,又提交至服务器,就会造成服务器端和本地仓库的文件数据有差异,比如master分支编辑test.txt文件,输入a=1,然后提交至github;mytestBranch分支也编辑test.txt文件a=2后提交至服务器。此时因为版本差异会提交失败,提示先从github上获取代码再进行修改,继续按提示获取代码然后执行合并,就会造成下图的结果,也是这里要说的重点:需要解决冲突问题。
图 13-33执行合并出现错误
19. 不管上传还是下载,当Git提示有冲突时,都可以用以下的方式进行判断后再处理。推荐的方式是:修改文件之前先下载最新版本
图 13-33解决冲突
20. 在github上查看每个分支上传的内容,见下图所示:
图 13-34 github上查找分支
21. 在AndroidStudio中配置git和github,AndroidStudio中内置了版本控制的插件,我们可以直接下载github上的工程。配置方法如下图所示:
图 13-35 Android studio打开设置面板
图 13-36配置github
图 13-37配置git的启动程序
22. 配置完成并测试通过后,就可以克隆远程仓库的代码了,因为Android Studio版本不同,可能版本控制的菜单位置有差异,下图以1.0.1版本为例,供参考使用。
图 13-38克隆代码
23. 使用AndroidStudio上传代码,新建文件AndroidStudio.txt,见下图所示。
图 13-39提交代码
图 13-40提交并上传代码
图 13-41 github上查找文件
24. 使用AndroidStudio比较代码,见下图所示。
图 13-42比较代码
图 13-43比较差异
以上就是Git的基本用法,除了使用GUI工具之外,还可以完全使用Git命令来完成上述所有的步骤,想深入了解Git命令或Git内部原理可参考官方文档。http://git.oschina.net/progit/index.html
13.3 SVN的使用
SVN的全称是Subversion,是一个开源的版本控制系统,属于集中式版本控制。SVN将文件存放在中心版本库里,可以理解成一个文件服务器,它可以记录每一次文件和目录修改的情况。使用方法如下:
1. 下载SVN服务器端安装文件, 目前较为简单的方案是VisualSVN Server。该SVN服务器是免费的,支持Windows操作系统,安装非常简单。下载地址:
http://subversion.apache.org/packages.html,见下图所示。
图 13-44软件下载
2. 下载TortoiseSVN客户端,下载地址:http://tortoisesvn.net/downloads.html
注意操作系统的位数。
图 13-45客户端下载
3. 下载完成后,先双击安装VisualSVN Server,一直单击下一步即可。安装完成后的运行画面如下:
图 13-46打开VisualSVN Server
4. 新建服务器的目录,就是存放代码的远程仓库,见下图所示。
图 13-47新建仓库目录
图 13-48新建仓库目录名称
图 13-49创建仓库成功
5. 上传项目至服务器,可以使用TortoiseSVN客户端,双击安装此程序,一直下一步即可,安装步骤这里不做介绍。
6. 打开项目所在的本地目录,右键所选中的项目,选择TortoiseSVN->Import。
图 13-50上传文件至服务器
图 13-51输入仓库地址
7. 打开VisualSVN,查看代码文件,见下图所示。
图 13-52查看服务器文件
8. 在SVN服务器上创建用户,见下图:
图 13-53创建用户
9. 从SVN服务器导入代码,打开AndroidStudio,新建一个工程MySvnTest,具体步骤见下图所示。
图 13-53导入代码
图 13-54输入地址
图 13-55用户登录
10. 导入代码后,可以对文件进行编辑,然后提交至服务器。
图 13-55文件操作
至此,SVN的配置和项目导入就完成了,文件的提交,更新以及比较合并等
操作的方法同连接github是一样的,这里不再重复,注意修改文件前一定要先从服务器上更新最新版的代码。
- Android-JavaWeb ——版本控制 git和svn
- Android-版本控制Git和SVN
- 版本控制:Git和SVN
- 版本控制——SVN&Git
- 版本控制之svn和git简述
- 版本控制工具SVN和GIT
- 版本控制SVN和Git使用详解
- 版本控制的问题Git和Svn
- 8.版本控制svn和git
- git-svn 版本控制
- 版本控制-SVN&GIT
- 版本控制:svn、git
- 浅谈Android版本控制—SVN
- Android Studio版本控制 —— git
- Android视频学习(十一):版本控制工具--SVN和Git
- 版本控制 svn 与git
- 版本控制工具:svn git
- Unity3D 版本控制 SVN Git
- Centos 6.5 关闭防火墙的步骤
- python爬虫"Hello World"级入门实例(二),使用json从中国天气网抓取数据
- JS计算两个时间段内的工作时间(9:00-18:00)
- Android之AsyncTask详解
- VS2015安装+OpenGL环境配置及测试
- Android-JavaWeb ——版本控制 git和svn
- Velocity 基础语法,别处贴的 侵立删
- vim 多窗口编辑
- 课程学习方法体系
- functions setting in R
- DataGridView的VirtualMode,在大容量数据加载时特别有用
- CSS margin 属性
- android学习笔记之四:四大组件之BroadcastReceiver
- CodeForces 550C Divisibility by Eight 简单题算是找规律?