撤销 git merge
2024-10-20 08:57:32
由于太多人问怎么撤销 merge 了,于是 git 官方出了这份教程,表示在 git 现有的思想体系下怎么达到撤销 merge 的目标。
方法一,reset 到 merge 前的版本,然后再重做接下来的操作,要求每个合作者都晓得怎么将本地的 HEAD 都回滚回去:
$ git checkout 【行merge操作时所在的分支】
$ git reset --hard 【merge前的版本号】
方法二,当 merge 以后还有别的操作和改动时,git 正好也有办法能撤销 merge,用 git revert:
$ git revert -m 【要撤销的那条merge线的编号,从1开始计算(怎么看哪条线是几啊?)】 【merge前的版本号】
Finished one revert.
[master 88edd6d] Revert "Merge branch 'jk/post-checkout'"
1 files changed, 0 insertions(+), 2 deletions(-)
这样会创建新的 commit 来抵消对应的 merge 操作,而且以后 git merge 【那个编号所代表的分支】 会提示:
Already up-to-date.
因为使用方法二会让 git 误以为这个分支的东西都是咱们不想要的。
方法三,怎么撤销方法二:
$ git revert 【方法二撤销merge时提交的commit的版本号,这里是88edd6d】
Finished one revert.
[master 268e243] Revert "Revert "Merge branch 'jk/post-checkout'""
1 files changed, 2 insertions(+), 0 deletions(-)
这样就行了,可以正常 merge 了,不过可能会有很多冲突噢!!
$ git merge jk/post-checkout
Auto-merging test.txt
Merge made by recursive.
test.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
方法4?
前端天天用 WebStorm 写代码的看过来: WebStorm 右键点击项目文件或文件夹,有一个:
Local History -> Show History
点开后出现一个窗口,可以看到所有的本地改动。找到合适的那份,按左上角那个:
Revert
按钮,也就是个紫色的弯曲的小箭头就回去了。在文件量不大的时候十分管用,强烈推荐。
最新文章
- Mac下安装nginx
- Ftp软件
- 修改apache上传文件大小限制
- Android 网络通信框架Volley简介
- ViewPager + Fragment实现滑动标签页
- socket编程(Linux)
- 转:UniqueID和ClientID的来源
- 使用jstack分析java程序cpu占用率过高
- Unity3D 之UGUI 图片
- vlist java实现-转
- GNU MAKE指南
- 自定义JQuery插件之 beforeFocus
- Python自动化运维之18、Python操作 MySQL、pymysql、SQLAchemy
- vmware桥接模式创建ubuntu虚拟机
- 深入设计电子计算器(一)——CPU指令集设计
- DxPackNet 2.视频截图和捕捉帧图片
- 微信小程序基础之交互操作控件
- Web Service进阶(三)HTTP-GET, HTTP-POST and SOAP的比较
- emmet-前端开发神器的几种写法
- hdu 1874 畅通工程续 floyed
热门文章
- BZOJ 3053: The Closest M Points(K-D Tree)
- OpenStack(queens)最小化搭建记录——控制与计算共两个节点
- python散记
- 前端基础-jQuery的最常用的的方法each、data、
- Bootstrap源码解读之栅格化篇
- net core mysql 组件记录
- ubuntu18 安装apache2.4 php5.6 mysql5.6
- UVA 400 - Unix ls (Unixls命令)
- 20155215宣言 实验三 敏捷开发与XP实践 实验报告
- 20155315庄艺霖第三次作业之Linux初体验