Git
一、版本控制
1.1 什么是版本控制?
Git 是一种在全球范围都广受欢迎的版本控制系统。在开发过程中,为了跟踪代码,文档,项目等信息中的变化,版本控制变得前所未有的重要。
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
- 实现跨区域多人协同开发
- 追踪和记载一个或者多个文件的历史记录
- 组织和保护你的源代码和文档
- 统计工作量
- 并行开发、提高开发效率
- 跟踪记录整个软件的开发过程
- 减轻开发人员的负担,节省时间,同时降低人为错误
1.2 常见版本控制器
这里主要就介绍两种
Git和SVN
SVN 是集中版本控制
Git 是分布式管理控制
1.3 版本控制分类
-
本地版本控制
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。
-
集中版本控制
所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改. 但是如果这个服务器挂了 代码会丢失 为了解决单点故障问题 分布式也出现了
-
分布式版本控制
所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。
1.4、Git与SVN最主要区别
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
二、Git操作
2.1 Git常用命令
我们最常用的命令有以下几个
git add . // 添加到暂存区
git commit -m "xxx" // 添加到本地仓库 xxx 代表你想提交的信息 一般为修改的信息
git push // 给远程仓库
git clone xxxUrl // 从远程仓库克隆仓库
git status // 查看文件的状态(未跟踪 未修改 已修改 暂存)
工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。
日常使用只要记住下图6个命令:
2.2 获得GIT仓库
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
2.2.1、创建全新仓库
需要用GIT管理的项目的根目录执行:
# 在当前目录新建一个Git代码库
$ git init
2.2.2 、克隆远程仓库
# xxxUrl 是远程仓库的Url地址
git clone xxxUrl
三、本地与远程仓库互传
远程 -- > 本地 利用克隆的方式
本地 -- > 远程
我们一般都是将本地项目提交给远程仓库
我们可以先将远程仓库克隆到本地一个文件夹下
然后将文件夹下的内容 拷贝 到 本地项目目录下
之后利用命令 就可以提交到远程仓库了