如何从远程Git存储库中删除最后一次提交,以便在日志中不再看到它?
例如,如果git log
给出以下提交历史记录
A->B->C->D[HEAD, ORIGIN]
我该如何前往?
A->B->C[HEAD,ORIGIN]
如何从远程Git存储库中删除最后一次提交,以便在日志中不再看到它?
例如,如果git log
给出以下提交历史记录
A->B->C->D[HEAD, ORIGIN]
我该如何前往?
A->B->C[HEAD,ORIGIN]
git reset HEAD^ # remove commit locally
git push origin +HEAD # force-push the new HEAD commit
git push origin +HEAD^:$name_of_your_branch # e.g. +HEAD^:master
一些Shell语言会解释^
字符。对于这些Shell,要么使用引号/转义字符,要么使用~
代替:
HEAD\^
'HEAD^'
HEAD~
git reset HEAD\^
。 - Alter Lagosgit reset HEAD~1
- aeracodegit log
命令时,它会在最新的提交记录上加上 (HEAD -> approval, origin/approval)
,那这是什么意思呢? - ASN如果还没有人拉取它,你可以尝试做以下操作:
git push remote +branch^1:remotebranch
这将强制更新远程分支,使其变为你的分支的倒数第二个提交。
rm -rf
命令可以摧毁存储库中的任何内容。但是,我认为我链接的问题包含了一个更好的解决方案——如果其他人已经拉取了该版本,则仍然不太礼貌。 - sarnold