git如何撤销已经push到远程仓库的代码提交

为了实现这个目的,需要分三步操作。

1.撤销提交信息

首先,通过git log查看提交信息,以便获取需要回退至的版本号,比如我这里是a1ad5a6f317ceadb087dbb0138a3bd0f683c2040:

caizd@driver:~/u-boot-ft2004-v0.1/u-boot-ft2004-v0.1$ git log
commit 28c45ebec6a3b58ca893155af74d849494424e72
Author: caizd <caizhongding@vclusters.com>
Date:   Mon Nov 2 16:50:30 2020 +0800

    modified for env boot_name

commit a1ad5a6f317ceadb087dbb0138a3bd0f683c2040
Author: caizd <caizhongding@vclusters.com>
Date:   Wed Oct 28 20:39:03 2020 +0800

    add support yt8521s phy

比如需要撤销 “modified for env boot_name” 这次提交,所以需要回退至的版本是 “add support yt8521s phy”,即需要回退至的版本号是:a1ad5a6f317ceadb087dbb0138a3bd0f683c2040。

然后,通过git reset –soft <版本号>重置至指定版本的提交,达到撤销提交的目的。

$ git reset --soft a1ad5a6f317ceadb087dbb0138a3bd0f683c2040
参数soft指的是:保留当前工作区,以便重新提交,比如我们这次是修改后重新提交 还可以选择参数hard,会撤销相应工作区的修改,一定要谨慎使用,以免出错。

然后,通过git log确认是否已经成功撤销。

caizd@driver:~/u-boot-ft2004-v0.1/u-boot-ft2004-v0.1$ git log
commit a1ad5a6f317ceadb087dbb0138a3bd0f683c2040
Author: caizd <caizhongding@vclusters.com>
Date:   Wed Oct 28 20:39:03 2020 +0800

    add support yt8521s phy

可以查看到已经成功撤销。

2.撤销

通过git push origin master --force强制提交当前版本号,以达到撤销版本号的目的:

$ git push origin master --force

matser是你的分支名,必须添加参数force进行强制提交,否则会提交失败。

3.修改代码,重新提交和推送

//重新修改代码,添加修改文件
git add <修改的文件>
//重新提交
git commit -m “modified for env boot_name”
//重新推送到远程仓库
git push origin master

你可能感兴趣的:(git操作总结,git撤销push远程提交,git,GIT)