版本控制
什么是版本控制?:版本控制是我们开发过程中用于管理我们的文件,目录,工程内容的修改历史,查看更改历史记录,备份以便恢复到以前的版本的软件工程技术
-
实现区域多人协同开发
-
保护源代码和文档
常见的版本控制工具
-
Git
-
Svn
-
CVS
-
VSS
版本控制工具有很多多吗,但世界上现在最流行的就是Git与Svn
版本控制分类
-
本地版本控制
记录文件每次的更新,就可以对一个版本做一次快照,适用于记录 补丁文件,
-
集中版本控制 SVN
所有的版本数据都保存在服务器上,协同开发从服务器上同步更新或上传自己的修改
-
分布式版本控制Git
可以离线在本地提交,只需要在连网的时候push一下到指定的远程仓库即可,但是增加了本地存储空间的占用,但是不会因为
服务器损坏和网络问题,而造成无法开发的情况
Git和SVN的主要区别
-
SVN是集中版本控制系统 1. 版本库集中放在中央服务器上的 2. 集中式版本控制系统需要联网才能工作,对网络带宽要求较高
-
Git是分布式版本控制系统 1. Git没有中央服务器 2. 每一个人的电脑都是服务器 3. 工作的时候不需要联网,可以放在本地仓库,还可以push到远程仓库 4. 因为版本都在自己电脑上,
Git历史
Git是目前世界上最先进的分布式版本控制系统。
聊聊Git的历史
同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。
Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
Linux社区中存在很多的大佬!破解研究 BitKeeper !
到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。(2周左右!) 也就是后来的 Git!
Git是目前世界上最先进的分布式版本控制系统。
Git是免费、开源的,最初Git是为辅助 Linux 内核开发的,来替代 BitKeeper!
Git下载安装
官网下载太慢,我们可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/
安装:无脑安装即可下一步!
GitBash:Unix与Linux风格的命令行,使用最多,推荐最多
GitCMD:windows风格命令行
GitGUl:图形界面的Git
Git配置
所有的配置文件都保存在本地
查看配置 git config -l
查看不同级别的配置文件:
查看系统config
git config --system --list
查看当前用户 (global)配置
git config --global --list
Git相关的配置文件:
1)、Gitetcgitconfig :Git 安装目录下的 gitconfig --system 系统级
2)、C:UsersAdministrator .gitconfig 只适用于当前登录用户的配置 --global 全局
设置用户名与邮箱:
git config --global user.name "zhangsan" # 名称
git config --global user.email 2917336833@qq.com
Git的四个区域
-
Workspace: 工作区,就是平时存放代码的地方
-
Index/Stage:暂存区:用于临时存放你的改动,实际上就是一个文件,保存即将提交到文件列表信息
-
Repository: 仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本
-
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
-
Direcotory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git管理空间,
-
WorkSpace: 需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间
-
git:存放Git管理信息的目录,初始化仓库的时候创建
-
Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
-
Local Repo:本地仓库,一个存放在本地的版本库:HADE会只是当前开发分支(branch)
-
Stach: 隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态
Git工作流程
-
在工作目录中添加、修改文件
-
将需要进行版本管理的文件放入暂存区
-
将暂存区的文件提交到远程git仓库
git管理文件三种状态(已修改 modified) , 已暂存(staged), 已提交(committed)
Git常用命令
add: 添加到暂存区
commit:提交到本地仓库
push :提交到远程仓库
git init:创建本地仓库
git clone [url] :克隆远程仓库
分支
分支:在源代码基础之上又复制了一份,可以切换,修改主分支或副分支,而且都不互相影响,在某个点可以合并
git分支常用命令:
-
git branch 列出本地所有分支
-
git branch -r 列出远程所有分支
-
git branch [name] 新建一个分支,但不会切换到你新建的分支,依旧会停留在当前分支
-
git checkout -b [name] 新建一个分支。并切换到该分支
-
git merge [分支] 指定分支并合并到当前分支
-
git branch -d [分支] 删除分支
-
git branch -dr [remote/分支] 删除远程仓库分支
IDEA中操作Git
-
引入Git,在设置中搜索Git path路径是你安装的git目录bin下的git.exe文件。点击Test测试
2.创建本地仓库
2.1成功的话会有图标出现
-
将项目提交到远程仓库,add--commit
-
可自选push
-
打开分支
-
创建分支、切换分支
-
创建分支
- 切换分支
- 合并分支
-