分布式版本控制系统 Git 详细教程
一.什么是Git
1.Git是什么
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
实际上版本控制系统有如下几个:
1) CVS
2) SVN
3) Git
这个概念中有两个疑问:
1. 什么是版本控制
2.什么是分布式?
2.为什么需要Git
大家熟悉的一个场景:论文
类似的场景,在软件开发中更为普遍。
分组完成项目的时候
1)多人协作,是如何完成的?
2)开发自己的任务的时候,从写第一行代码开始到整个结束,有没有来回修改?
如何来解决这些问题呢?
早期,在项目规模还没有那么大的时候,大家制定一些规则,手动解决就行。
随着软件和项目规模的增大,这种手动方式,效率太低,问题太多,不能满足开发的需求。
需要有相应的工具来解决 --- 于是就出现了 版本控制系统。
1)CVS,功能比较弱,现在很少使用
2)SVN,功能比较完善,使用比较多
3)Git,功能最强大的,也是最受欢迎的。
所以,版本控制可以帮助我们实现两件事情:
1)自动记录每次的修改,并且可以方便的切换到任一版本
2)可以完成多人协作开发
3.Git和GitHub有何区别
Git,是一个版本控制系统,实际上是一个工具,大多数都是基于命令行的。
GitHub,是一个使用Git作为版本控制的托管代码的网站,平台。
重点在于学习Git本身。
二.快速入门
1.安装Git
Git在多个操作系统均有相应的安装包。
使用windows系统。
还是一个典型的windows软件的安装
官网:https://git-scm.com/downloads/
这个表示加入了windows的path变量,意味着可以在cmd窗口中使用。
安装完成之后,我们可以在任意目录下,点击鼠标右键,弹出右键菜单,有两个选项:
1.Git GUI Here
2.Git bash Here
Git GUI here,其实就是一个可视化的界面,使用鼠标就可以完成相应操作。如下:
Git bash Here
命令行窗口
2.使用流程
基本的使用流程如下:
1)初始化一个Git仓库(git init)
2)设置用户名和邮箱
3)添加文件到仓库(git add 文件名1 文件名2 )
4) 提交 (git commit -m 说明文字)
5)查看版本 (git log)
6)回退 (git reset --hard HEAD^/commit_id)
(1).初始化一个Git仓库(git init)
首先,需要指定我们的项目目录,比如此处放在project目录下,
使用git init 来初始化一个Git仓库。
在当前目录下打开 git bash 窗口,输入git init命令,如下:
repository: 仓库
相应的,会在当前目录下,创建一个隐藏的.git目录,
我们在开发的时候,是不能去动这个目录的。
如下:
(2).设置用户名和邮箱
使用
git config user.name 用户名
git config user.email 邮箱
(3).添加文件到仓库(git add 文件名1 文件名2 )
我们需要在project目录下,开始开发。
使用 git add 文件名,将其添加到版本库
(4).提交 (git commit -m 说明文字)
使用git add只是将其添加到git 的暂存区,需要使用git commit进行提交,同时必须要加上说明文字。
(5).查看版本 (git log)
接下来,需要重复3~5。
比如,我新建一个base.css文件,将其引入到 index.html中,所以,又需要add
再次commit
(6).回退 (git reset --hard HEAD^/commit_id)
第三天开发,发现需要回到第一个版本
使用 git reset --hard HEAD^会退到上一个版本。
我又后悔,需要再回到第二个版本。这是当前版本的未来版本,必须使用commit_id来reset。
回退如下:
此时,就已经切换到第二个版本。