撤销已经git push到远端仓库的commit信息

有时,在执行git push推送修改到远端之后,发现代码还需要进行一些很小的改动,并且不想因为这个小的改动而进行一次新的提交。在这种情况下,我们想撤销已经git push之后的提交,然后进行代码修改,再重新进行提交和推送。

我们需要两个步骤来完成撤销操作

(一)撤销提交信息

先通过git log查看提交日志,获取要退至的版本号

$ git log

commit 73354ae8bd821cc84e026f5c4612b01253b68d5f (HEAD -> master, origin/master, origin/HEAD)

Author: xxxxxx

Date:  Sun Mar 4 11:14:55 2018 +0800

    remove some whitespaces

commit 18578a467ddffc2cfce16296b28fcc88b591f5cf

Author: xxxxxx

Date:  Sat Mar 3 23:43:03 2018 +0800

    add mse function

commit e342194a6fb85c1aadbf00f14d623b47bd7ff9c9

假设我们想要撤销“remove some whitespaces”这次提交,我们首先找到其版本号18578a467ddffc2cfce16296b28fcc88b591f5cf

然后执行git reset --soft 18578a467ddffc2cfce16296b28fcc88b591f5cf 操作

其中的soft:保留当前工作区的修改,以便重新提交 。还可以使用hard参数,但是撤销相应工作区的修改,所以建议使用soft就好。

再通过git log确认是否撤销成功,如果成功应该如下图所示:

$ git log

commit 18578a467ddffc2cfce16296b28fcc88b591f5cf (HEAD -> master)

Author: xxxxxx

Date:  Sat Mar 3 23:43:03 2018 +0800

    add mse function

commit e342194a6fb85c1aadbf00f14d623b47bd7ff9c9

(二)撤销远端的提交

git push origin <分支名> --force 强制提交当前版本号。

我这里的分支名是master,所以操作为:git push origin master --force

以上这两个步骤就完成了git push的撤销,之后可以继续修改程序,然后使用git add, git commit, git push重新提交到远端。

如果觉得本文有帮助,请点个赞吧,如果喜欢我的文章,请点击关注,谢谢!!!

你可能感兴趣的:(撤销已经git push到远端仓库的commit信息)