Git:我怎样才能回到之前的提交,从而撤消我最近做出的改变?

时间:2018-05-31 00:28:02

标签: git git-commit

我在我的分支中做了4次提交并推送到Github。这些提交中的最后3个包含不应该进行的更改。我想“跳回去”。到第一次提交,完全从分支中删除所有我想要的更改。

到目前为止,我已经尝试了

git reset --hard 6b9b9baa6758598ca2ed48d5e029b4b5a2a7f194

git revert <SHA>

但这些似乎什么都不做 - 不必要的更改仍然存在于我的拉取请求中。

有谁知道我怎么能这样做?

更新: 我需要回去提交6b9b9baa6758598ca2ed48d5e029b4b5a2a7f194。日志看起来像:

commit 0a90687022fb458de36ac3ff3b3fd3f3920f6b0d
Author: Me
Date:   Thu May 31 10:04:36 2018 +1000

    Removed svg

commit 7dbcceb6e294572a531d84837753f5698bf192f6
Author: Me
Date:   Thu May 31 10:02:12 2018 +1000

    Removed icon from icons directory

commit 97cfd16c87ea280a4e6a7570272157e86195542e
Author: Me
Date:   Wed May 30 17:27:55 2018 +1000

     Added icons

commit 6b9b9baa6758598ca2ed48d5e029b4b5a2a7f194
Author: Me
Date:   Wed May 30 16:27:33 2018 +1000

    Updated css

2 个答案:

答案 0 :(得分:0)

你需要在重置或恢复后推送到Github。

要删除远程分支中的提交,您需要在重置后使用强制标志(*)进行推送。

如果还原所有3次提交并推送,则为另一种选择。请注意,错误提交将保留在远程分支历史记录中。

(*)如果您不知道后果,不建议使用。

答案 1 :(得分:0)

您需要在重置后恢复或恢复

1)如果重置,您需要按下强制(因为您正在更改远程历史记录),如下所示:

git push origin <branch name> -f

2)如果还原需要简单推送如下:

git push origin <branch name>

用户还原总是更好,而不是重置。 因为它会创建提交的额外(反向)提交,并且不会重置git的历史记录。