(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert

这篇具有很好参考价值的文章主要介绍了(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

背景

一、(git log、git reflog)查看git提交日志及命令历史

1.1 git log(提交日志)

 1.2 git reflog(命令历史)

二、git reset(回退到指定的版本,并且保留更改)

2.1 回退到指定版本

2.2 快捷回退上一版本

三、git reset --hard(回退到指定版本,不保留更改)

四、git revert(回退到指定版本,保留commit记录)

五、git stash

六、注意

6.1 不小心git reset --hard回退了,怎么回到以前版本

6.2 git log和git reflog的应用场景

6.3 git reset和git revert的区别


背景

我们开发过程中会遇到git数据提交错误、代码回滚,或者一些没用的comit进行合并,优化commit展示

一、(git log、git reflog)查看git提交日志及命令历史

1.1 git log(提交日志)

git 记录着所有的提交日志,通过log命令可以读取过去的提交记录,得到commit id即版本的哈希码

git log
 四行详细记录,包括的信息有commit id、提交者、提交时间、备注
git log --pretty=oneline
输出的每个提交记录只占据一行,每行的显示内容为commit id + 备注

 1.2 git reflog(命令历史)

通过relog命令可以读取过去的命令历史

git reflog

 (详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert,前端学习笔记,git,git

二、git reset(回退到指定的版本,并且保留更改)

2.1 回退到指定版本

回退的同时,将回退对应版本到目前版本的commit信息记录将删除、代码不会删除、只是合并commit记录(用这个可以合并多个commit、来使commit记录看起来整洁)

git reset <commit>

2.2 快捷回退上一版本

如果要回退到上一个版本,可以使用以下 Git 命令:

git reset HEAD^

这个命令将会将当前版本回退到上一个版本,HEAD^ 表示上一个版本,HEAD^^表示上上个版本。

如果想回退更多个版本,用 HEAD~n 即可,比如回退到前5个版本:

git reset HEAD~5

三、git reset --hard(回退到指定版本,不保留更改)

回退的同时,将代码和commit记录都将回退到指定版本(放弃目标版本以后的所有修改)

git reset --hard <commit>

四、git revert(回退到指定版本,保留commit记录)

回退项目版本时,可以运行 git revert 命令,该命令会回退指定版本的修改,并创建一个新的提交来存储这些被撤销的更改。

git revert --no-commit <commit>..HEAD

五、git stash

执行git stash 将当前所有未提交的代码修改,都不保留,撤销更改

git stash

六、注意

6.1 不小心git reset --hard回退了,怎么回到以前版本

可以使用git reflog 来查看命令记录,然后再用git reset --hard 记录id 来进行复原

6.2 git log和git reflog的应用场景

git log是commit记录,git reflog是git 命令记录,同时这两个查看命令配合git reset(git reset --hard)可以让你在不同版本之间游刃有余

6.3 git reset和git revert的区别

reset执行后不会产生记录,revert执行后会产生记录。文章来源地址https://www.toymoban.com/news/detail-661621.html

到了这里,关于(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git reset --hard详解

    提示:这里简述项目相关背景: 在企业中使用git进行版本回退时,经常会用到 git reset命令,但有时使用参数并不相同: git reset 节点id git reset --hard 节点id (1)当加参数–hard时 此时不但将本地的HEAD指针指向了上一个版本,重置了暂存区的内容,而且还修改重置了本地工作区

    2024年02月11日
    浏览(48)
  • git版本回退:revert回退其中一个提交/reset回退到某个版本

      对于已经push或没有push的,回退commit方式一致。只是最后push 的时候 ,如果修改了已经push 的commit,那么需要使用git push -f 区别:git reset commitID;  回退到某个版本。中间的版本都会回退。            git revert commitID; 只将commitID的代码回退。中间的版本不变。且会形成一条

    2024年02月12日
    浏览(48)
  • idea中操作git的reset版本回滚操作

            在项目修改过程中,git中提交不想要的版本,想要回滚到之前的某一个版本重新开始工作,需要用git的reset操作进行回滚,这里和revert有区别。         reset是直接回滚到某一个版本,将这个版本之后的所有版本丢弃。         revert是指定取消某一个版本的提交。

    2024年02月07日
    浏览(46)
  • Git Reset 详解:Soft、Mixed、Hard、Keep 选项

    在 Git 中, git reset 是一个强大的命令,用于移动 HEAD 指针和修改提交历史。它有不同的选项,包括 --soft 、 --mixed 、 --hard 和 --keep ,每个选项都有不同的用途和影响。本文将深入解析这些选项的作用和用法。 1. --soft 选项 --soft 选项执行一种“软”重置,它会移动 HEAD 指针到

    2024年02月22日
    浏览(46)
  • Git reset、revert用法

    reset是删除之前的提交记录,所有的提交点都会被清除,我们看下执行前后的git log区别 执行完成后发现个人分支第三个提交好像从来没有出现过一样,建议不要使用reset,毕竟会把别人的提交点彻底删除 revert 将指定提交的代码给清除掉,提交记录还存在,相当于添加一个新

    2024年02月10日
    浏览(39)
  • git的 reset 和 revert 区别

    线上master分支不可信,需要回到某个分支; 但是很多人习惯把一个需求,分多次commit,于是会出现下面这种情况 基于这种情况,git revert 就不如 git reset好用,可以借助Idea,直接通过 git reset --hard 指向需要回退到的commit,然后随便找个地方,敲上一个空格,产生一次新的commi

    2024年03月21日
    浏览(48)
  • git 的rebase、reset、revert区别?

    rebase 、 reset 、和 revert 是 Git 中用于修改提交历史的三个不同的命令,它们的作用和效果有所不同。 1. rebase : git rebase 用于将一个分支的提交移到另一个分支上,并重新应用这些提交。主要有两种用途: 整理提交历史 :将多个小的提交合并成一个更为清晰的提交历史,避免

    2024年01月21日
    浏览(62)
  • git:代码回退restore 、reset、revert

    友好提示看这篇需要对git有一定了解!!! git中有很几个关于代码回退的命令:restore 、reset、revert ,初学git的同学们可能搞不清楚什么时候该用哪个,根据我的一点点经验,简单介绍一下它们,希望能帮到大家 (我的水平有限,内容仅供参考 . ,哪里有问题,欢迎指出) 一: restore(恢复) 针对

    2024年02月05日
    浏览(41)
  • git reset --hard HEAD

    git reset --hard HEAD 是用于将你的工作目录重置回最后一次提交状态的命令。- git reset 是 git 的一个命令,用于重置你当前的 HEAD 到指定的状态。 --hard 标志告诉 git 要完全重置工作目录和暂存区,去匹配最后一次提交。在这个过程中,所有未提交的改动和新添加的东西都会被删除

    2024年02月10日
    浏览(45)
  • 【git 使用】超级好用的 git reset 和 git revert 功能对比和使用方法

    首先你要知道 git 区分暂存区和工作区,如果你用过 sourcetree 你就会知道 git reset 命令用于将当前分支的 HEAD 指针移动到指定的提交,并且可以选择性地修改工作区和暂存区的状态。 git reset 命令有几种常用的用法,主要包括: git reset --soft commit-id:  被 reset 的提交会放到暂存

    2024年02月20日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包