git revert、reset撤销

2023-12-10 06:32
文章标签 reset git 撤销 revert

本文主要是介绍git revert、reset撤销,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

git reset 撤销

 

git reset 撤销_Fir trees island的博客-CSDN博客_git reset 撤回git 撤销操作,git resetgit commit之后,想撤销commit写完代码后,我们一般这样$git status //查看并确定自己修改的文件有哪些$git add file_name //添加所有文件$git commit -m "本功能全部完成"执行完commit后,想撤回commit,怎么办?献上骚操作:$git reset --soft HEAD^这样就成功的撤销了你的commit注意,仅仅是撤回commit操作,您写的代码仍然保留。...https://blog.csdn.net/m0_50668851/article/details/108651112?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_default&utm_relevant_index=2

Git小技巧——撤销&回滚操作revert和reset——一看就会_可乐多点冰的博客-CSDN博客_撤回reset最近需要删除某些已经提交的commit。便想到revert和reset。由于理解不深,在使用revert遇到了一个坑。区别:revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。之前读到上面的话,自以为revert可以回滚到某个过往的某个commit,并且保持与这个commit那个时候一模一样的代码,只不过这个commit之后提交commit只显示记录,但是代码没有。即,a-b-https://blog.csdn.net/u013541707/article/details/107387555/?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1.topblog&spm=1001.2101.3001.4242.2&utm_relevant_index=4

最近需要删除某些已经提交的commit。便想到revert和reset。由于理解不深,在使用revert遇到了一个坑。

区别:

revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;
reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。
1
2
之前读到上面的话,自以为revert可以回滚到某个过往的某个commit,并且保持与这个commit那个时候一模一样的代码,只不过这个commit之后提交commit只显示记录,但是代码没有。

即,a-b-c-d,想从d回撤到a,使用revert则变为了a-b-c-d-a_new的log记录,但是以为代码a_new与a一致。

【实际上】revert只是把commit a时的代码撤销,并且产生一个新的commit,但是b c d的代码都存在,而a的代码不存在。
所以revert为撤销某一个commit a处的代码,而不是回滚到commit a处!
若使用回滚到某处一模一样的代码则使用reset:
git reset --hard commit_id
 

记一次git revert误操作找回

源于自己的手贱,git revert 掉了代码,好在自己有commit记录,于是找了一下解决方案:
首先
git reflog
查看本地commit记录
找到对应的commit id
最后
git reset --hard [commit id]



作者:1024k纯金
链接:https://www.jianshu.com/p/269d6f221ec4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

如果是reset 后发现删错了呢?

git reflog

然后再git reset 

[git] git reset --hard后恢复操作_rifu19950726的博客-CSDN博客《转》Git 撤销commit的注意事项 http://www.cnblogs.com/scodong/p/4757378.html Git撤销commit的操作命令 git reset –hard HEAD^一、新建三个文件,demo1,demo2,demo3 二、git add 命令提交到暂存区,git reset HEAD demo1就是把提交到暂存区里的文件撤销。 上图...https://blog.csdn.net/rifu19950726/article/details/81903769?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-2.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-2.pc_relevant_default&utm_relevant_index=5

4 自己的远程分支版本回退的方法

如果你的错误提交已经推送到自己的远程分支了,那么就需要回滚远程分支了。
首先要回退本地分支:

git reflog
git reset --hard Obfafd
紧接着强制推送到远程分支:

git push -f
注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支
————————————————
版权声明:本文为CSDN博主「方2郭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_35763513/article/details/112100406

这篇关于git revert、reset撤销的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476279

相关文章

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个