Git 学习 -3 log, reflog, reset

本文介绍如何使用Git的log、reflog及reset命令进行版本管理和回退操作,包括简化log输出、利用HEAD指针快速定位历史版本、通过reflog恢复已删除的提交。

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

log, reflog, rest命令
3.1 log命令
       log命令可以显示所有提交过的版本信息。显示信息如下:
   git log

   commit 8e27eb62309a1e7aa2b6c348f6dfa595bcb09898
   Author: Jin wang <11111111@111.com>
   Date:   Wed May 7 16:51:14 2014 +0800

    append GPL

   commit dae675a9170a2d60855a6d9f56268f42d9114f40
   Author: Jin wang <11111111@111.com>
   Date:   Wed May 7 15:16:25 2014 +0800

    add distributed

   commit c412f7ee690fc80906670c38a762e815abd5e1be
   Author: Jin wang <11111111@11.com>
   Date:   Wed May 7 14:11:58 2014 +0800

    wrote a readme file
       
       如果觉得信息显示太繁琐  可以加上参数  --pretty=oneline[只会留下commit  id (版本号 (用SHA1字串表示))和 提交版本时的描述信息] 显示效果如下:
   git log --pretty=oneline

   8e27eb62309a1e7aa2b6c348f6dfa595bcb09898 append GPL
   dae675a9170a2d60855a6d9f56268f42d9114f40 add distributed
   c412f7ee690fc80906670c38a762e815abd5e1be wrote a readme file
       commit id 是向前或向后回溯版本的必备参数。


3.2 HEAD 值
      HEAD 表示提交的最新版本。HEAD^表示上一个版本,HEAD^^表示上上个版本。HEAD~100表示往上100个版本。

3.3 reset命令
      reset命令用于回退(撤销)一个提交。
      reset命令参数(这里只列出一个):
      -- head  彻底退回到某个版本 本地文件也会回退到指定版本。
     
      reset 命令执行后如下: 
   git reset --hard HEAD^

   HEAD is now at dae675a add distributed
    
      使用 git log 查看日志,发现最后一次的提交已经不再显示,回退成功
   git log

   commit dae675a9170a2d60855a6d9f56268f42d9114f40
   Author: Jin wang <111111111@111.com>
   Date:   Wed May 7 15:16:25 2014 +0800

    add distributed

   commit c412f7ee690fc80906670c38a762e815abd5e1be
   Author: Jin wang <11111111@111.com>
   Date:   Wed May 7 14:11:58 2014 +0800

    wrote a readme file

3.4 reflog
      如果在回退以后又想再次回到之前的版本,可以用reflog查看到commit id 并使用reset设置
      执行完 git reflog 后显示如下:
   git reflog

   dae675a HEAD@{0}: reset: moving to HEAD^
   8e27eb6 HEAD@{1}: commit: append GPL
   dae675a HEAD@{2}: commit: add distributed
   c412f7e HEAD@{3}: commit (initial): wrote a readme file
       执行 git  reset --hard 8327eb6 回到指定的版本
   git reset --hard 8e27eb6

   HEAD is now at 8e27eb6 append GPL

总结:
      git的版本回退速度很快,本质上是因为Git内部有HEAD指针,当回退版本的时候,只是单纯的移动指针,所以速度很快。 
      使用 log  reflog reset 可以在各个版本之间自由移动。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值