常用的版本控制工具
- vss
- cvs
- svn
- Mercurial
- ClearCase
- git :分布式
git的功能
- 团队协作
1.文件管理
2.历史跟踪
3.冲突管理
4.版本发布
git与其他版本控制工具的区别
所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动。Git和其他版本系统的主要区别是Git对数据的重新思考。概念上说,所有其他的系统都是以文件为基础来保存信息。这些系统将信息视为一整套的文件以及对这些文件的修改。Git并不这样看待数据。相反,Git将数据视为一系列的mini filesystem的快照。每次你commit,或者在Git中保存你的项目的状态,它将你的文件在那个时刻的状态做一个快照,并且保存对那个快照的引用。为了更加高效,如果文件本身没有做变更,git并不会重新保存一份,而仅仅重新引用这个已经保存过的文件快照。
git相关概念
- 分支(Branch):在一个时间点,复制一份处于版本控制之下的文件,从这之后,这两份拷贝就可以独立的互不干扰的进行各自开发。
- 取出(Check-out):一次“取出”,就是在本地创建一份仓库的工作拷贝。
- 提交(Commit):一次“提交”,将本地的修改写回到仓库或合并到仓库。
- 冲突(Conlict):当开发者们同时提交对同一文件的修改,而且版本系统不能把它们合并到一起,就会引起冲突,就需要人工来进行合并。
- 合并(Merge):合并就是把所有对文件的修改统一到文件里
- 仓库(Repository):仓库就是当前的和历史的处于版本控制之下的文件所在的地方,通常在服务器端。
- 工作版本( Working copy ) :从档案库中取出一个本地端的复制,所有在档案库中的档案更动,都是从一个工作版本中修改而来的,这也是这名称的由来。
git工具下载
Git工具官网下载(windows macos linux均可下载-速度较慢)
选择版本
对应自己电脑选择下载32位/64位。
下载安装成功后,单击右键如图所示即为成功!!
git起源
- Linux之父Linus是坚定的CVS反对者,他也同样地反对SVN。2002年Linus顶着开源社区精英们的口诛笔伐,选择了一个商业版本控制系统BitKeeper作为Linux内核的代码管理工具。和CVS/SVN不同,BitKeeper是属于分布式版本控制系统。
- Git诞生大事件2005年4月3日,开始开发Git。2005年4月6日,项目发布。2005年4月7日,Git就可以作为自身的版本控制工具了。2005年4月18日,发生第一个多分支合并。2005年4月29日,Git的性能就已经达到了Linus的预期。2005年6月16日,Linux核心2.6.12发布,那时Git已经在维护Linux核心的源代码。
git的四种状态
git的状态有四种分别为:
untrack:未记录。当你在一个git项目当中新建了文件的时候,如果你用git status
命令去查看git当中的状态,就会看到系统会提示你有些文件状态是untrack。
modified:modified顾名思义就是 修改过 的意思。针对的就是 已经登记在案 的文件最近又发生了改动的情况,也就是说我们最近改过了某一个之前已经登记在案的文件,那么当我们查看状态的时候得到的就是modified,表示改动了,之前的记录已经不是最新的了,我们需要更新。这时我们可以使用git add
来更新。或使用git restore
来重置。
staged:暂存。当我们创建了新的文件,或者是有了新的改动,执行git add
之后,得到的状态就是staged。
committed:已提交。前面说了staged只是暂存,还没有真正提交进git系统当中。只有通过命令git commit
之后,才算是真正把暂存区的代码提交了。经过git commit
命令之后,所有被提交的文件的状态就是committed。
git的三大分区
从上面的四种状态将git分为三个区即工作区/暂存区/版本库。如下图所示。
创建项目完整流程(git基本命令的使用)
git使用的命令和linux的命令基本相同。
创建一个项目的根目录(mkdir)
mkdir 文件夹名
创建仓库(git init)
git init
在项目根目录下创建仓库,此时创建的仓库为.git
的隐藏文件夹。这时候的su就为一个主分支(master)。
打开.git文件夹如图所示,这里包含了我们的配置文件等等…
创建文件(touch)并将文件添加到版本控制工具中
touch 文件名
查看仓库状态(git status)
git status
使用add命令添加到版本控制工具中
该步骤将文件置入暂存区,需提交之后才真正进入仓库。
提交至仓库中(commit)
设置个人信息( git config)
将暂存区的内容提交到仓库(commit)
使用git commit
可提交至仓库,-m
则可添加提交说明。
搭建git服务器
在将项目提交到仓库中后,需要推送到远程仓库,这时我们就需要搭建一个git服务器。
- github
- gitee
github为外文网站访问速度较慢。而gitee为国内网站访问速度较快一些,这里我们去注册一个账号即可。
创建仓库
进入gitee,点击创建我的仓库
点击创建即可
如下图所示即为创建成功。
添加远端仓库地址
1.git remote add 别名 远端仓库地址
对远端仓库进行操作
2.git push 'master'
推送到远端仓库
像这样就推送成功啦!
下载仓库(clone)
git clone 仓库地址
- 获取到仓库地址
- 新建一个文件夹,使用git工具进行克隆
像这样就克隆完成了。