Linux ·

分布式版本控制系统 Git 详细教程

一.什么是Git

1.Git是什么

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

实际上版本控制系统有如下几个:

1) CVS

2)  SVN

3) Git

这个概念中有两个疑问:

1. 什么是版本控制

2.什么是分布式?

2.为什么需要Git

大家熟悉的一个场景:论文

分布式版本控制系统 Git 详细教程 Linux 第1张

类似的场景,在软件开发中更为普遍。

分组完成项目的时候

1)多人协作,是如何完成的?

2)开发自己的任务的时候,从写第一行代码开始到整个结束,有没有来回修改?

如何来解决这些问题呢?

早期,在项目规模还没有那么大的时候,大家制定一些规则,手动解决就行。

随着软件和项目规模的增大,这种手动方式,效率太低,问题太多,不能满足开发的需求。

需要有相应的工具来解决 --- 于是就出现了 版本控制系统。

1)CVS,功能比较弱,现在很少使用

2)SVN,功能比较完善,使用比较多

3)Git,功能最强大的,也是最受欢迎的。

分布式版本控制系统 Git 详细教程 Linux 第2张

所以,版本控制可以帮助我们实现两件事情:

1)自动记录每次的修改,并且可以方便的切换到任一版本

2)可以完成多人协作开发

3.GitGitHub有何区别

Git,是一个版本控制系统,实际上是一个工具,大多数都是基于命令行的。

GitHub,是一个使用Git作为版本控制的托管代码的网站,平台

重点在于学习Git本身。

二.快速入门

1.安装Git

Git在多个操作系统均有相应的安装包。

使用windows系统。

还是一个典型的windows软件的安装

官网:https://git-scm.com/downloads/

分布式版本控制系统 Git 详细教程 Linux 第3张

分布式版本控制系统 Git 详细教程 Linux 第4张

分布式版本控制系统 Git 详细教程 Linux 第5张

这个表示加入了windowspath变量,意味着可以在cmd窗口中使用。

安装完成之后,我们可以在任意目录下,点击鼠标右键,弹出右键菜单,有两个选项:

1.Git GUI Here

2.Git bash Here

Git GUI here,其实就是一个可视化的界面,使用鼠标就可以完成相应操作。如下:

分布式版本控制系统 Git 详细教程 Linux 第6张

Git bash Here

命令行窗口

分布式版本控制系统 Git 详细教程 Linux 第7张

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命令,如下:

分布式版本控制系统 Git 详细教程 Linux 第8张

repository: 仓库

相应的,会在当前目录下,创建一个隐藏的.git目录,

我们在开发的时候,是不能去动这个目录的。

如下:

分布式版本控制系统 Git 详细教程 Linux 第9张

(2).设置用户名和邮箱

分布式版本控制系统 Git 详细教程 Linux 第10张

使用

git config user.name 用户名

git config  user.email 邮箱

(3).添加文件到仓库(git add 文件名1 文件名2

我们需要在project目录下,开始开发。

分布式版本控制系统 Git 详细教程 Linux 第11张

使用 git add 文件名,将其添加到版本库

分布式版本控制系统 Git 详细教程 Linux 第12张

(4).提交 git commit -m 说明文字)

使用git add只是将其添加到git 的暂存区,需要使用git commit进行提交,同时必须要加上说明文字。

分布式版本控制系统 Git 详细教程 Linux 第13张

(5).查看版本 git log

分布式版本控制系统 Git 详细教程 Linux 第14张

接下来,需要重复3~5

比如,我新建一个base.css文件,将其引入到 index.html中,所以,又需要add

分布式版本控制系统 Git 详细教程 Linux 第15张

再次commit

分布式版本控制系统 Git 详细教程 Linux 第16张

(6).回退 git reset --hard HEAD^/commit_id

第三天开发,发现需要回到第一个版本

分布式版本控制系统 Git 详细教程 Linux 第17张

使用 git reset --hard HEAD^会退到上一个版本。

分布式版本控制系统 Git 详细教程 Linux 第18张

我又后悔,需要再回到第二个版本。这是当前版本的未来版本,必须使用commit_idreset

分布式版本控制系统 Git 详细教程 Linux 第19张

回退如下:

分布式版本控制系统 Git 详细教程 Linux 第20张

此时,就已经切换到第二个版本。

参与评论