git - 删除未推送的 git commit

标签 git git-commit

我做了一个 git commit 但我还没有将它推送到存储库。 因此,当我执行 git status 时,我得到“# Your branch is ahead of 'master' by 1 commit.

所以如果我想回滚我的最高提交,我可以这样做吗:

git reset --hard eb27bf26dd18c5a34e0e82b929e0d74cfcaab316

鉴于当我执行 git log 我得到:

commit eb27bf26dd18c5a34e0e82b929e0d74cfcaab316
Date:   Tue Sep 29 11:21:41 2009 -0700


commit db0c078d5286b837532ff5e276dcf91885df2296
Date:   Tue Sep 22 10:31:37 2009 -0700

最佳答案

如果您还没有将更改推送到远程

git reset HEAD~1

通过 git status 检查工作副本是否干净。

否则您已将更改推送到远程

git revert HEAD

此命令将还原/删除本地提交/更改,然后您可以推送

关于git - 删除未推送的 git commit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1611215/

相关文章:

git - 如何归档使用 LFS 的 git 存储库?

Git 提交不使用转发的 ssh 代理?

git 也修改了暂存区中添加的文件

git 状态(没有提交,工作目录干净),但是已提交更改

git - 让 git 不记住一个文件的历史记录

git - 如果我更改了 .gitignore 文件,那么在推送代码后,每个人都会更改吗?

git - 如何将 git 与不同于 $HOME/.gitconfig 的配置文件一起使用?

git - 如何通过 GitLab REST API 获取文件的原始内容?

git - git可以在提交前过滤掉某些行吗?

git - 我如何知道在没有 merge 来自第二个父项的更改的两个父项的 Git 提交中发生了什么?