当前位置: 首页 > news >正文

山东工程网站建设科技最狂潮

山东工程网站建设,科技最狂潮,顺德人才市场招聘信息,sae wordpress 更新在使用 git 进行项目开发的过程中,有时会出现错误提交的情况,这时就需要能够撤销错误的提交,将代码恢复到提交之前的样子。根据不同情况,可以使用 git reset 或 git revert 命令。 一. git reset git reset 的原理是修改 HEAD 的…

在使用 git 进行项目开发的过程中,有时会出现错误提交的情况,这时就需要能够撤销错误的提交,将代码恢复到提交之前的样子。根据不同情况,可以使用 git reset 或 git revert 命令。

一. git reset

git reset 的原理是修改 HEAD 的位置,即将 HEAD 指向的位置改变为之前存在的某个版本。具体来说,git reset 的作用是将当前分支的 HEAD 指针指向指定的提交,同时将暂存区和工作区更新为该提交的状态。

git reset 命令有三个主要选项:

  1. --soft:将 HEAD 指针指向给定的提交,暂存区和本地源码不变,也就是说未保存的修改会保留下来。在三个选项中对现有版本库状态改动最小。简单来说,–soft 不会删除回退的代码,而是会将代码从 commit 回退到 add 之后的状态(暂存区)。如果回退之前的暂存区有提交,会和回退的版本合并,工作区代码不变。

  2. --mixed:将 HEAD 指针指向给定的提交,暂存区也会相应的回退,本地源码不变。简单来说,–mixed 不会删除回退的代码,而是会将代码从 commit 回退到 add 之前的状态(工作区)。如果回退之前的暂存区有提交,也会跟着回退到工作区,并与工作区的代码合并。

  3. --hard:将 HEAD 指针指向给定的提交,暂存区和本地源码也全部回退到指定的状态,所有的修改都会丢失,是最危险的一个参数。简单来说,使用 --hard 之后,会将代码回退到指定版本,同时清除工作区和暂存区的修改,所有未 commit 的代码都会被删除。

如果需要回退的修改还没有 git push 到远程仓库,那只需要在 git reset 之后继续开发正常提交就行。如果回退的版本已经 push 到远程仓库,回退之后需要git push -f强制提交一次,使远程仓库也回退到指定版本。但是在实际多人协同开发的过程中慎重使用,使用 git rest 回退到某个版本,可能会覆盖掉别人提交的代码。

git reset <commit-id>

git reset 命令默认使用 --mixed 参数。除了 commit-id 之外,还可以使用git reset HEAD~简写形式回退到上一个版本。

git reset 使用 commit-id 不仅可以回退到某个版本,还可以用来恢复到回退之前的版本。如果不记得 commit-id,可以通过git reflog查询。

二. git revert

git revert 的原理是创建一个新的提交,该提交是上一个提交的反向操作,以撤销该提交的更改。与 git reset 不同,git revert 不会改变提交历史,而是通过创建一个新的提交来撤销之前的更改,也不会改变暂存区和工作区的内容。

git revert <commit-id>

在执行 git revert 的过程中可能会出现版本冲突。对于每个冲突的文件,需要手动打开并编辑它们。Git会在冲突的文件中插入特殊的标记,指示冲突的位置。你需要删除这些标记,并决定如何解决冲突。解决冲突之后,需要提交冲突的文件 git add <file>,并且执行 git revert --continue 继续撤销流程。如果决定放弃撤销提交,可以执行 git revert --abort,这将撤销 git revert 命令的执行,并返回到之前的状态。

三. git reset 和 git revert 的对比

在这里插入图片描述
假设我们提交了三次修改(修改一、修改二、修改三),现在发现修改二有 bug 需要回退,有两种方案。

方法一:git reset

由于 git reset 的原理是将 HEAD 指针指向之前的某次提交,想要将版本回退到修改一,需要使用 git reset commit-id1。reset 之后,通过 git log 可以看到,目标版本之后的提交全都没有了。
在这里插入图片描述
适用场景:如果想恢复到之前的某次提交的版本,且那个版本之后的提交都不要了,可以使用 git reset 命令。

方法二:git revert

由于 git revert 的原理是创建指定版本的反向操作,所以可以使用 git revert commit-id2 创建一个新的修改四。修改四撤销了修改二的操作,并将 HEAD 指针移动到了修改四。这个命令不会丢失任何更改,是一个安全的操作。

在这里插入图片描述
适用场景:如果想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用 git revert 命令。

http://www.yayakq.cn/news/181556/

相关文章:

  • 做国外网站的公证要多少钱建立门派
  • 互助县wap网站建设公司信息流广告代理商排名
  • 虚拟主机 多个网站百度大数据分析
  • 网站稳定性不好的原因做磁力解析网站
  • 深圳网站优化方式网站建设分为几个阶段
  • 建设银行网站储蓄账户查询密码一级消防工程师考试难不难
  • 大良购物网站建设做问卷美观的网站
  • 企业网站制作报价单asp网站后台无法显示该页面
  • 郴州市一中乐云seo网站建设性价比高
  • 做淘宝有没有店小秘类型的网站做电影网站的服务器
  • 响应试网站和移动端英文网站建设解决方案
  • 门户网站建设公司市场公司网页下载
  • 网站安全检测官网北京市优化网站
  • 河南城乡建设网站开一个网站建设公司
  • 网站备案 视频开发高端客户
  • 沧州高端网站建设长治建设工程交易网
  • 龙岩做网站改版费用做网站和网页
  • 怎么做qq靓号网站开通域名
  • 网站300m空间网站优化软件有哪些
  • 御花园网站建设公司iis 网站后台
  • 做网站一般有什么题目海外网络怎么搭建
  • 平板上做网站的软件梁志天设计公司官网首页
  • 电商的网站开发订单返利功能建设网站需要多大域名空间
  • 阳西县住房和城乡建设部网站网站建设评估报告
  • 做网站ps笔记本电脑包头网络公司
  • 如何上传网站到云服务器专线网站建设
  • 南京哪个网站做物业贷网站建设"淘宝网" 在颜色选取和搭配方面有哪些值得学习的地方.
  • 网站后台常用密码研究思路 网站建设
  • 网站备案要拍照推广一单500
  • 自己网站做短链接wordpress 插件语言