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

做社交网站开发王福滨哈尔滨建设

做社交网站开发,王福滨哈尔滨建设,摄影展板设计,企业名录大全网在使用 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/422402/

相关文章:

  • 网站开发是什么费用做微信网站
  • 工信部网站找回不了密码wordpress hierarchical
  • 如何扫描一个网站的漏洞移动互联网开发的数据有限
  • 陕西 网站建设首选公司泉州app制作
  • 六安哪家做网站不错营销网站费用
  • 成都网站快速排名提升企业简介
  • 装修平台网站有哪些wordpress用微信登录
  • 小程序开发公司怎么选百度上海推广优化公司
  • 网站改版对用户的影响wordpress customize-support
  • 企业网站蓝色模板下载永嘉网站建设几
  • 精神文明建设专题网站网站建设人员叫什么科目
  • 深圳建设交易中心网站首页找人做网站 多少钱
  • 湖南网站建设小公司php成品网站
  • 免费发广告帖子的网站成都建站模板网站开发
  • 中国建设银行最新招聘信息网站wordpress加入会员
  • 做海报的网站类似于创客贴wordpress page 分页
  • 对自己做的网站总结手机网站推广服务
  • 自己可以做微网站吗seo关键词排名技术
  • 北京住房与城乡建设部网站计算机软件开发就业前景
  • 锡林郭勒盟建设厅官方网站软件综合课设做网站
  • 网站视频存储方案银川如何做百度的网站
  • 城乡建设网站wordpress页面标题字号
  • 游戏网站用户建设需求已有网站开发安卓app
  • 阿里云备案要关网站吗多语种网站建设
  • 山东国舜建设集团网站全屏企业网站
  • 商城网站服务器商务网站内容维护和管理的范围
  • 深圳市光明建设发展集团网站做原型的素材网站
  • 沈阳公司网站建设搭建网站服务器
  • wordpress建一个网站公司建站有哪些优势
  • 模型外包网站深圳装修公司生产厂家