如何从分支历史记录中删除提交?我应该使用git reset-hard HEAD吗?


当前回答

如果您没有发布更改,为了删除最新提交,您可以

$ git reset --hard HEAD^

(注意,这也会删除所有未提交的更改;请小心使用)。

如果您已经发布要删除的提交,请使用git-restore

$ git revert HEAD

其他回答

我已经推了。需要远程返回一些提交。尝试了许多变化,但只有Justin via git bush的这句话对我来说很好:

git reset --hard $GIT_COMMIT_HASH_HERE
git push origin HEAD --force

上面的所有命令都会像提交之前一样恢复工作树和索引的状态,但不会恢复存储库的状态。如果您查看它,“已删除”提交实际上并没有被删除,它根本不是当前分支顶端的提交。

我认为没有办法用瓷命令删除提交。唯一的方法是从日志和reflog中删除它,然后执行git prune--expire-now。

git reset --hard commitId

git push <origin> <branch> --force

PS:CommitId指的是要还原回的那个

在本地分支上重置

git reset --hard HEAD~<Number of commit> So git reset --hard HEAD~3

强制推至原点

git push -f origin

git reset—软Id提交允许您删除提交,但不删除当前文件。然后使用git push-f源名称分支