Git的基本使用教程

时间:2024-05-21 08:46:26

一、安装:

1. 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
Git的基本使用教程
安装完成后,还需要最后一步设置,在命令行输入:

$ git config –global user.name “Your Name”

$ git config –global user.email “[email protected]

  • Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
  • 注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

二、创建版本库

第一步、进入F盘,然后进入F盘的名为Git的文件夹:
Git的基本使用教程
$ cd F: 进入F盘。
$ cd Git 进入F盘的名为Git的文件夹。
pwd命令用于显示当前目录。在我的为,这个仓库位于/f/Git
$ cd .. 返回上一级目录(cd和..之间必须有一个空格)。

第二步,通过git init命令把这个目录变成Git可以管理的仓库:
Git的基本使用教程

这样就把Git仓库建好了,这是一个空的仓库(empty Git repository),并且目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,不要去修改这个目录里面的文件。

三、版本回退

1. 修改readme.txt文件的内容,然后把修改提交到Git版本库,内容下:
Git的基本使用教程
然后尝试提交:
Git的基本使用教程
这个过程类似游戏存档,每通过一个关卡存一次档,就不用怕游戏人物死后从头再刷关卡,直接在最近关卡原地复活就好

git add readme.txt //表示将这个文件预添加到仓库,这一句不会有什么反应
git commit -m "On Wednesday" //确认提交
rmdir Git 删除文件夹
rm readme.txt //删除文件

现在,我们回顾一下readme.txt文件一共有几个版本被提交到Git仓库里了:

  • 版本1:On Monday

On Monday:
Today is Monday. I am studying.

  • 版本2:On Tuesday

On Tuesday:
Today is Tuesday. I am studying.

  • 版本3:On Wednesday

On Wednesday:
It’s Wednesday. I’m studying.

当然了,在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:
Git的基本使用教程

git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是On Wednesday,上一次是On Tuesday,最早的一次是On Monday。画面简洁一点,可以使用--pretty=oneline参数;

  • 大串类似45c0b0…5633的是commit id(版本号)

2.把readme.txt回退到上一个版本,也就是On Tuesday的那个版本

首先,要知道当前Git版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交e81166e..7724c8,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

现在,我们要把当前版本“On Wednesday”回退到上一个版本“On Tuesday”,就可以使用git reset命令:
Git的基本使用教程

  • --hard参数对于小白的我来说暂时也不知道什么意思,听大神的话放心使用就好。

看看readme.txt的内容是不是版本On Tuesday,可以使用cat readme.txt查看
Git的基本使用教程

我们再用git log命令查看,你会发现最新的那个版本”On Wednesday “已经看不到了!
Git的基本使用教程
现在我又想返回去看最新的那个版本库怎么办?办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找,找到那个“On Wednesday”的commit id号,于是就可以指定回到未来的某个版本:
Git的基本使用教程
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

再用cat readme.txt命令查看readme.txt的内容,你会发现之前的版本又回来了:
Git的基本使用教程

现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?

在Git中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^回退到On Tuesday版本时,再想恢复到On Wednesday,就必须找到On Wednesdaycommit id。Git提供了一个命令git reflog用来记录你的每一次命令:
Git的基本使用教程

你就会发现On Wednesdaycommit ide81166e,现在,你又可以乘坐时光机回到未来了。

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

注:

纯本人小白,只为学习+做记录(加深印象),学习资源全來于廖雪峰老师!