1

我通过删除某些文件修改了我的源目录并完成了commit. 我push origin master对远程主机 github 做了一个。

现在我知道我需要这些文件才能正常运行。现在我需要一种方法来返回我的上一个commit,然后返回push到我的远程主机。

有可能这样做吗?我对 git 很陌生,我很困惑。

提前致谢。

4

4 回答 4

5

由于您已经推送,我建议您反对 Nikhil 的解决方案,并建议您像这样对最新提交执行“git revert” git revert HEAD,然后推送。该revert命令将创建一个新的提交,以撤消指定提交的效果并将其添加到您的存储库中。

于 2012-08-01T06:31:20.377 回答
5

git revert创建一个撤消一个或多个先前提交的新提交。这通常是撤消已推送的提交的最佳方式。

例如,此命令将恢复从提交abc1234到并包括最新提交 ( HEAD) 的所有内容:

git revert abc1234..HEAD

您也可以使用git reset,但是此命令会更改历史记录,并且会给使用存储库的其他任何人带来问题。一般来说,如果您想丢弃尚未推送的更改(并且您确定将来不想再返回),您应该只使用此命令。

于 2012-08-01T07:10:14.683 回答
2

试穿这些,

git reset --hard SHAsumOfYourCommit
git reset --hard HEAD [your current head point]
git reset --hard HEAD^ [your previous head point]

或者你可以删除最后一次提交

假设我们有一个带有分支 master 的远程 myrepo,当前指向提交 dd61ab32,您可以使用该命令删除最后一次提交。

git push myrepo +dd61ab32^:master
于 2012-08-01T06:25:10.087 回答
0

怎么了朋友,看,我很努力,我什至发现了一种方法,它对我有用:)

git reset --hard commitId //delete your local commits
git push -f origin yourOrigin //delete your github remotes commits

我希望能帮助你。

于 2019-10-16T18:00:21.080 回答