git 合并分支撤回

GIT 合并

  • 合并

合并

git 合并分支撤回_第1张图片

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

1.未commit,未push

方式1: 利用idea 的可视化操作 rollback

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

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

2.已提交,未push

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

方式1: git reset --hard 版本号

方式2: git revert

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

3.已提交,已push

方式1:

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

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

git reset回退干脆利落,但是会丢失提交记录,比如你回退test分支,此时刚好有人提交东西到test,回造成他人代码丢失(别人会骂娘)

git reset执行完成push到远程需要强制推送

git push --force orign

方式2:

git revert *******(*是commitId)

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

例如 feature/1 test master三个分支

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

test 合并到master,然后feature/1合并到master上你会发现合并不了

你可能感兴趣的:(git,github)