返回顶部
首页 > 资讯 > 服务器 >git的使用——reset
  • 548
分享到

git的使用——reset

gitgithub服务器 2023-08-31 18:08:44 548人浏览 八月长安
摘要

git reset 命令用于回退版本,可以指定退回某一次提交的版本。 有三种命令方式 git reset [--soft | --mixed | --hard] [HEAD] 知识前提:git重要的三

git reset 命令用于回退版本,可以指定退回某一次提交的版本。
有三种命令方式

git reset [--soft | --mixed | --hard] [HEAD]

知识前提:git重要的三个工作区域:

  1. 工作区(Working Directory):写代码的目录。就是项目代码存放的目录(git add 之前的目录)。
  2. 暂存区(index/stage):工作区与版本库之间的缓冲地带。用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区,查看记录 git status
  3. 仓库区:git commit 提交到本地分支的,查看记录 git log

–mixed为默认的,可以不用带该参数

  1. 用于重置暂存区的文件,此时历史记录与上一次的提交(commit)保持一致,工作区文件内容保持不变(有上次修改的内容)。移动 HEAD 指针,改变暂存区内容,但不会改变工作区
  2. 原有文件内容的变更 :修改内容还在,变成未add的状态
  3. 目录结构的变更(增加或者删除文件):
    新增文件: 还存在,变成未add的状态(目录结构中文件变成红色,需要执行命令git add . 再执行git commit )
    删除文件:目录结构中还是没有,可以直接执行git commit

–soft用于回退到某个版本

  1. 仅仅移动当前 Head 指针,不会改变工作区和暂存区的内容
  2. 原有文件内容的变更 :修改内容还在,变成已add的状态(未commit)
  3. 目录结构的变更(增加或者删除文件):
    新增文件:还存在,变成已add的状态(目录结构中文件变成绿色,可以再次执行git commit );
    删除文件:目录结构中还是没有,可以直接执行git commit

–hard 参数撤销工作区中所有未提交的修改内容,

  1. 将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交,当前 HEAD 指针、工作区和暂存区内容全部改变
  2. 原有文件内容的变更 :修改内容丢失(修改的代码不会变成未add的状态)
  3. 目录结构的变更(增加或者删除文件):新增文件丢失、删除的文件相当于没删

使用场景

–mixed

1 使用完 reset --mixed 后,执行 git add 将这些改变过的文件內容加入 暂存区(index)中,再执行 git commit 将 Index 暂存区中的內容提交至仓库( Repository )中,这样一样可以达到合并 commit 节点的效果
2 也可以用于发现add错误了,可以执行git reset HEAD来重置暂存区(index)的文件

–soft

1 使用完reset --soft后,commit_id之后提交的内容会被放入暂存区(index)中,此时已经add了,可以直接执行commit,将commit_id之后的提交作为一个commit来统一进行提交,减少不必要的log记录

–hard

1 使用 git reset --hard HEAD(HEAD也可以是某个commit_id) 来强制恢复 git 管理的文件夹的內容及状态;此时目标节点(commit_id)后的所有提交都会被删除

 git log // 查询要回滚的 commit_id // 这里的commit_id是当前提交错误的想要撤回的commit之前的那个正确的commit // 执行前,先将本地代码切换到对应分支 git reset --hard commit_id // HEAD 就会指向这个commit_id的提交记录 git push origin HEAD --force // 强制推送到远端

这种操作存在一个问题,服务器上的代码虽然被还原了,但假如有多个人在这个分支上开发,他们本地的版本依然是比服务器上的版本高的,所以,别人再重新提交(push)代码的话,你撤销的操作又会被重新,你上面的操作也就白操作了。解决办法是,让别人把本地的分支先删掉,然后重新从服务器上拉取分支,或者你在对方提交完所有本地代码之后对方没有再进行修改代码,这个时候你提交了,发现你提交的有问题,再进行reset操作,然后让对方拉取(pull)最新的代码也ok,最主要的就是对方本地没有你要reset的代码即可
2 误删恢复
如果回滚代码之后发现复制错了 commit_id,或者误删了某次 commit 记录,也可以通过下方代码恢复:

git relog // 复制要恢复操作的前面的 hash 值git reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值

来源地址:https://blog.csdn.net/wh13821662259/article/details/126909225

--结束END--

本文标题: git的使用——reset

本文链接: https://lsjlt.com/news/386567.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • git的使用——reset
    git reset 命令用于回退版本,可以指定退回某一次提交的版本。 有三种命令方式 git reset [--soft | --mixed | --hard] [HEAD] 知识前提:git重要的三...
    99+
    2023-08-31
    git github 服务器
  • Git命令git-reset怎么使用
    这篇文章主要介绍了Git命令git-reset怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Git命令git-reset怎么使用文章都会有所收获,下面我们一起来看看吧。git-reset的作用是重置当前...
    99+
    2023-07-05
  • git reset --hard HEAD
    git reset --hard HEAD 是用于将你的工作目录重置回最后一次提交状态的命令。- git reset 是 git 的一个命令,用于重置你当前的 HEAD 到指定的状态。 --hard...
    99+
    2023-10-07
    git reset
  • git revert和git reset的区别详解
    git revert和git reset的区别 git revert 是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留 git reset 是回到某次提交,提交及之前的commit都...
    99+
    2022-06-04
    详解 区别 git
  • git revert和git reset有什么区别
    这篇文章将为大家详细讲解有关git revert和git reset有什么区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。git revert和git reset的区别git revert 是生成一个新...
    99+
    2023-06-09
  • Git怎么使用reset或revert方法恢复之前的版本
    本篇内容主要讲解“Git怎么使用reset或revert方法恢复之前的版本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Git怎么使用reset或revert方法恢复之前的版本”吧!一、问题描述...
    99+
    2023-07-05
  • Git Reset和Git Revert命令有什么区别
    这篇文章主要为大家展示了“Git Reset和Git Revert命令有什么区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Git Reset和Git Revert命令有什么区别”这篇文章吧。...
    99+
    2023-06-15
  • Git恢复之前版本的两种方法reset、revert使用解读
    目录一、问题描述二、背景知识三、解决方法方法一:git reset方法二:git revert总结一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交...
    99+
    2023-03-06
    Git恢复之前版本 Git reset Git revert
  • git中reset和revert的区别有哪些
    这篇文章主要介绍“git中reset和revert的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“git中reset和revert的区别有哪些”文章能帮助大家解决问题。区别:1、reset...
    99+
    2023-06-21
  • git reset后如何找回代码
    在使用 Git 进行版本控制的过程中,可能会出现误操作导致代码丢失的情况,其中之一就是使用 git reset 命令将代码回退至某个历史版本。当我们回退到一个历史版本后,原来最新的代码将会被覆盖,如果没有及时备份,那么这部分代码就会被永久丢...
    99+
    2023-10-22
  • unable to access ‘https://github.com/.../...git‘: Recv failure: Connection was reset
    解决git下载报错:fatal: unable to access ‘https://github.com/…/…git’: Recv failure: Connection was reset 在g...
    99+
    2023-09-21
    git github Error
  • mysql中RESET MASTER和RESET SLAVE怎么用
    这篇文章主要介绍mysql中RESET MASTER和RESET SLAVE怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!【一】RESET MASTER参数功能说明:删除所有的...
    99+
    2024-04-02
  • CSS的RESET怎么用
    这篇文章主要介绍了CSS的RESET怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS的RESET怎么用文章都会有所收获,下面我们一起来看看吧。   1.CSSRes...
    99+
    2024-04-02
  • git报错OpenSSL SSL_read: Connection was reset, errno 10054怎么解决
    本篇内容介绍了“git报错OpenSSL SSL_read: Connection was reset, errno 10054怎么解决”的有关知识,在实际案例的操作过程中,不少人...
    99+
    2023-07-06
  • git及GitHub的使用
    文章目录 git在本地仓库的使用github使用创建仓库https协议连接(不推荐,现在用起来比较麻烦)ssh连接(推荐)git分支操作冲突处理忽略文件 git在本地仓库的使用 在目标目录下右键打开git bash her...
    99+
    2023-08-30
    git github
  • Git 的使用(皮毛))
    1.安装git 软件(下一步直到完成) 2.码云注册(保存代码) 3.创建代码托管仓库   4.创建文件夹 5.写东西并提交到码云   1.在某个文件夹下写东西   2.写完之后在此文件夹下鼠标右键,并选择[git bash here]...
    99+
    2023-01-31
    皮毛 Git
  • 怎么在CSS中使用Reset重置样式
    本篇文章给大家分享的是有关怎么在CSS中使用Reset重置样式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。html{     ...
    99+
    2023-06-08
  • 使用reset master命令清空日志的示例分析
    这篇文章给大家分享的是有关使用reset master命令清空日志的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 今天看见主库binlog日志非常大,于是使用rese...
    99+
    2024-04-02
  • Git常用命令的使用
    目录Git基础要点Git常用命令Git分支服务器上的Git分布式Git版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 关于版本控制分为三种:本地版本控制系统...
    99+
    2023-05-19
    Git常用命令 Git 命令
  • git的简单使用(windows)
    使用参考文档 git简易指南:http://www.bootcss.com/p/git-guide/ git官方文档:https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5   git下载地址 ...
    99+
    2023-01-30
    简单 git windows
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作