git merge回退的常用操作

git merge某分支到目标分支上,发现冲突太多合并代码出问题了想要回退这次提交怎么办?

1.未commit,未push

方式1: 利用idea 的可视化操作 rollback,然后删除Unversioned File即可

方式2:idea切换到其他分支,再切回来会提示这个分支有东西没有commit,让你选择commit还是drop commit,选择删除就行了

方式3:git reset --hard HEAD 回退到头结点,丢弃所有改动

2.已提交,未push

此时只需要改本地分支上的提交就行了

方式1: git reset --head HEAD^

方式2: git revert 撤回此次提交

方式3: 删除本地分支,然后从远程重新检出分支(可能会丢失一些无需丢弃的)

常见的git reset可以查看菜鸟教程
git reset 命令 | 菜鸟教程

3.已提交,已push

方式1:

git log 查看提交记录,选择回退到的commitId

git reset --hard   *******(*是commitId)

git reset 强制回退干脆利落,直接设置头结点丢弃记录,可能导致代码丢失

git reset执行完成需要push到强制远程才能生效,否则只有本地改了,IDEA可视化push操作如果不行请勾选强制推送选项

git push --force orign (强制推送可能会导致代码覆盖)

方式2:

命令行:git revert *******(*是commitId)

IDEA GIT可视化界面:选择此次提交右键git revert 

git revert回滚会保留旧的提交记录,生成一条回退记录,是不错的选择,但是在多分支并行开发的模式下会导致有些commit和并无效

例如 :feature/1   test  master三个分支

feature/1合并到test,然后git revert,

test 合并到master,然后feature/1合并到master上你会发现master缺少feature/1的提交,因为test的撤回导致了失效

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值