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