撤销push到远程分支
git log
查看需要撤销的git提交版本号
- 执行
git reset –-soft <版本号>
,如git reset --soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7
,重置至指定版本的提交,达到撤销提交的目的
git reset 命令有两种: git reset –-soft
与 git reset –-hard
:
git reset –-soft
表示只是改变了HEAD的指向,本地代码不会变化,我们使用git status依然可以看到,同时也可以git commit提交
git reset –-hard
直接回改变本地源码,不仅仅指向变化了,代码也回退到了该版本时的代码
- 执行 git push origin <分支名> –-force ,强制提交当前版本号
合并多个commit
git log
查看需要合并的git提交版本,比如我们要合并这两个commit
git rebase -i HEAD~2
进入以下页面:
其中,pick是需要保留的commit,也就是其他commit合并到的目标commit
squash(s)表示需要被合并的commit
修改完成后:wq
保存后进入下一个页面:
这里可以注释掉其他commit的描述,只保留这次合并后commit的描述
修改完成后:wq
保存
-
git log
查看合并结果:
可以看到创建了一个新的合并后的commit -
推送到远程仓库
git push origin <分支名> --force