Git 分布式版本控制系统(三)

本文介绍如何使用Git进行版本回退操作,包括通过版本号回退到指定版本的方法,以及如何区分工作区与暂存区。同时,还讲解了如何通过HEAD指针定位不同版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、版本回退

一次commit就是一个版本,在文件修改过程中,我们会不断commit文件,因此git会记录每次提交的版本号,因为git采用分布式,所以版本号不可能像SVN似的数字标记,而采用SHA来生成版本号。一旦文件改乱了或者误删了文件,就可以通过版本号来回退。

可以通过$git log 来查看版本提交日志。

$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao <askxuefeng@gmail.com>Date:   Tue Aug 20 15:11:49 2013 +0800

    append GPL

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao <askxuefeng@gmail.com>Date:   Tue Aug 20 14:53:12 2013 +0800

    add distributed

commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao <askxuefeng@gmail.com>Date:   Mon Aug 19 17:51:55 2013 +0800

    wrote a readme file


首先我们必须知道我们当前是哪个版本,在git中,用HEAD(注意必须用大写)表示当前版本,上一个版本是HEAD^,上上个版本是HEAD^^,100个版本数不过来了,使用HEAD~100。

使用$git reset命令回退版本。

   $git reset --hard HEAD^  回退到上个版本。 ==》输出HEAD is now at ea34578 add distributed

   $ git reset --hard 3628164  回退到该版本(这里版本号ID可以写前几位,不一定都写出来,但是不能写太少,不然可能有多个版本)


二、工作区和暂存区

工作区

就是电脑能看到的目录,比如learngit目录。

版本库(Reposity)

  .git目录不是工作区, 是版本库,版本库里面存了很多东西,最重要的是暂存区stage或index,Git为我们自动创建master分支(分支的概念下节),以及指向该分支的HEAD指针。如图3.1所示。

图3.1


commit之后,暂存区清空。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值