一、取消某次合并
git merge --abort #如果Git版本 >= 1.7.4
git reset --merge #如果Git版本 >= 1.6.1
二、回滚commit和push的代码
# 找到要回滚的commitID
git reset [--mixed | --soft | --hard | --merge | --keep] [<commit>]
--mixed reset HEAD and index
--soft reset only HEAD
--hard reset HEAD, index and working tree
--merge reset HEAD, index and working tree
--keep reset HEAD but keep local changes
# 找到要回滚的commitID
git log
git revert commitID
git reset --hard commitID
git push -f origin master //强制push到远程分支
区别:
-
revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在。
-
reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。