当前位置: 代码迷 >> 综合 >> Git入门(4)-版本回退
  详细解决方案

Git入门(4)-版本回退

热度:28   发布时间:2023-10-20 02:32:53.0
Git入门(4)-版本回退
在Git入门(3)中学会了怎样去修改文件,你可以去练习着多修改几次,并且提交。当你想查看你都修改过几个版本时,输入命令 git log:
$ git log
commit 57e21750932ead81de35e28c79974aae59f3801d
Author: qinzishuai <qzs531156@163.com>
Date:   Tue Jul 19 22:15:23 2016 +0800

    slidingmenu

commit 3b1d7b50b4932d2b29a5a558fe0771fc06fb5aac
Author: qinzishuai <qzs531156@163.com>
Date:   Tue Jul 19 22:04:15 2016 +0800

    对话框合集

离你最近的版本是你最新修改的版本,git log命令是显示你最近到最远的日志,如果嫌输出的信息太多,看的很乱可以输入命令:
$ git log --pretty=oneline
这个命令输出的结果就是每个版本就一行,看的很方便。

版本回退:
假如我们想把readme.txt文件退回到上一个版本,在Git中,HEAD表示当前的版本,HEAD^表示上一个版本,上上个版本就是HEAD^^,假如想回退到第100个版本时,就是HEAD~100.
现在我们要把readme.txt回退到上个版本,就可以使用命令: git reset 如下:
$ git reset --hard HEAD^ HEAD is now at ea34578 add distributed
回退完之后我们输入cat readme.txt表示查看当前的文件内容
$ cat readme.txt
输入完看一看是不是回退后的版本内容。

注意:
当我们用git log查看时,发现我们回退前的那个版本消失了,我们有时会后悔回退,那怎么办呢。在Git中,不要担心,我们可以通过commit id来解决:
首先我们可以git reflog 这是记录你的每一条命令,然后我们会发现每条命令前面都有一串数字或字母,比如:
3628164 HEAD@{1}: commit: append GPL
这段命令的commit id就是3628164,我们找到了id,就可以回到这个版本了,输入下面命令就可以回了:
$ git reset --hard 3628164


总结:
  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。


  相关解决方案