git reset 四个模式:soft、mixed、hard、keep区别

这篇具有很好参考价值的文章主要介绍了git reset 四个模式:soft、mixed、hard、keep区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本地版本库 暂存区 工作区
soft 回退 保持 保持所有
mixed 回退 回退 保持所有
hard 回退 回退 完全回退
keep 回退 保持 保持另外的修改,仅回退提交的代码
  1. git reset --soft 仅将本地版本库回退到指定版本,缓存区和工作区不做改变
  2. git reset --mixed 将版本库回退的同时,将缓存区也清空,但工作区不做变更
  3. git reset --hard 将三个区域同时退回
  4. git reset --keep 将版本库回退的同时,将缓存区也清空,工作区中文件如果当前版本和退回版本之间没有发生过变动,则工作区的修改保持不便;如果发生了变动,并且工作区也进行了修改,需要自行合并(或者冲突解决)

keep介绍

首先这里创建了两个文件a.txt 和 b.txt

git reset keep sort,git,大数据,java

在a.txt变更2中仅修改了a.txt;b.txt没有变更
然后将b修改后,进行了add操作,提交到了暂存区:使用git status可以看到暂存区记录了b.txt的修改

git reset keep sort,git,大数据,java

现在我们再分别将a、b文件进行修改
如果直接使用git reset --keep进行回退会发现报错,因为上一个版本修改了a文件,并且我们工作区也对a进行了修改,这时git不允许回退。

git reset keep sort,git,大数据,java文章来源地址https://www.toymoban.com/news/detail-805384.html

到了这里,关于git reset 四个模式:soft、mixed、hard、keep区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • idea中代码git的版本穿梭&Git Rest三种模式详解(soft,mixed,hard)

    使用Git进行版本控制开发时难免会遇到回顾的情况,这里来解释下该如何正确的回滚 idea 使用 git 切换版本博文链接 本地回滚就很简单,只是要撤销 commit 信息即可。可以直接使用 Reset HEAD进行回滚。 HEAD^ 是还原到上一个版本,HEAD^^ 是还原到上上一个版本。 Reset Type 有三种:

    2024年02月05日
    浏览(44)
  • git reset --soft 用法

    git reset --soft 是 Git 命令中的一个选项,它用于取消之前的提交,并将取消的更改保留在暂存区。这允许您重新组织提交历史或将更改合并到一个新的提交中,而不影响暂存区和工作目录中的更改。 这个命令的语法是: 其中 commit 是您要取消的提交的引用(可以是提交哈希、

    2024年02月11日
    浏览(43)
  • git reset --hard详解

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

    2024年02月11日
    浏览(51)
  • git reset --hard HEAD

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

    2024年02月10日
    浏览(47)
  • 撤销 git reset --hard HRAD^操作

    工作区 修改代码的地方 暂存区 执行git add后 本地版本库 执行git commit后 远程仓库 远程版本库 执行git push后 以下操作演示了 如何撤销git reset --hard HRAD^操作 亲测可用

    2024年02月08日
    浏览(44)
  • git硬重置(hard reset)重找回

    首先进行git版本回退 1、git log查找历史commit_id  2、版本回退  3、找回你的提交(commit), 因为Git对每件事都会有日志,且都会保存几天。  4、选择你想要回到的提交(commit)的SHA,再重置一次:

    2024年02月07日
    浏览(43)
  • 解决git reset --soft HEAD^撤销commit时报错

    今天在使用git回退功能的时候,遇到以下错误: 问题: 在进行完commit后,想要撤销该commit,于是使用了git reset --soft HEAD^命令,但是出现如下报错: 查了下原因可能有两种: 因为cmd控制台中换行符默认是’^ \\\',而不是 ,所以^符号被git编译为换行符了,解决方案: 该仓库到

    2024年02月11日
    浏览(54)
  • (详解踩坑)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(回退

    2024年02月12日
    浏览(56)
  • 如果不小心git reset --hard了怎么恢复代码?

    1 前言 本来是想把commit的存在缓存区的代码删除,再重新commit一遍的,用了 git reset --hard HEAD^ 这个命令后,没想到本地代码退回到初始版本了,修改过的全部不见了。(悔不当初!) 2 解决办法 前提: git上传代码到仓库add、commit、push,代码必须是commit过的才有效,只有add不

    2024年02月11日
    浏览(49)
  • git reset --hard origin/master 文件被删除后的回复操作

    是一个用于检查并找回丢失的 Git 对象的命令,可以帮助你恢复意外丢失的数据 git merge 1b1e4edfb2e625a5a8ddefa54de8b1acc804aa47

    2024年02月19日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包