我在我的分支中做了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
答案 0 :(得分:0)
你需要在重置或恢复后推送到Github。
要删除远程分支中的提交,您需要在重置后使用强制标志(*)进行推送。
如果还原所有3次提交并推送,则为另一种选择。请注意,错误提交将保留在远程分支历史记录中。
(*)如果您不知道后果,不建议使用。
答案 1 :(得分:0)
您需要在重置后恢复或恢复
1)如果重置,您需要按下强制(因为您正在更改远程历史记录),如下所示:
git push origin <branch name> -f
2)如果还原需要简单推送如下:
git push origin <branch name>
用户还原总是更好,而不是重置。 因为它会创建提交的额外(反向)提交,并且不会重置git的历史记录。