场景:在工作中,发现中间的某次提交是错误的,或者不再需要的代码,这个时候想要撤回那次commit,该如何呢?

假如远程仓库上有5次commit,如图:
远程分支5次commit
我们的目的是想撤销第二次提交,也就是commitid为6fb1cc7的,那么我们怎么操作呢,如果使用git reset --hard commitid,那这次提交之后的提交都不见了,不是我们所期望的,经过查询,可以使用revert命令。下面详细介绍。

revert命令
想要撤回中间某次commit,可以使用命令

git revert commit_id

如果这次提交是别的分支合并过来的,按照提示可知需要加参数-m

git revert -m commit_id

然后如果有冲突,解决冲突,然后重新commit,push到远程分支,这时远程仓库会多了一个commit,而原来想要撤销的那条commit记录还在,但是最终代码,也就是最新的commit,已经把不要的代码移除了,此时达到了我们的目的。

如果想撤销的不是一次commit,而是连着的几次,那么

git revert --no-commit commit1..commit2

注意这是一个左开右闭区间,即不包括 commit1,但包括 commit2
下面我们一步一步的进行这次操作:
撤销第二次提交撤销第二次提交
有冲突,解决之后:
提交然后push
总结
如果想撤销某次commit,使用命令

git revert commit_id

push到远程仓库即可

以上为文章,皆摘自当前点击可访问

git取消合并

git merge --abort
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐