从github删除提交

Jis*_*iot 13 git commit github

可能重复:
如何删除github上的提交?
如何删除'git commit'

所以我试图从github中删除一个提交.

这是3次提交之前,如果所有的更改都丢失了我就可以了.

所以基于这里的问题,我做了一个

git reset --hard <sha-commit-name-to-go-back-to>
git push -f origin HEAD^:master
Run Code Online (Sandbox Code Playgroud)

现在它已经从github以及git log中消失了.

然后我重新修改了我的修改

git add <file I changed>
git commit
git log
Run Code Online (Sandbox Code Playgroud)

一切都很好看.没有旧提交的痕迹.所以我终于做了一个:

git push
Run Code Online (Sandbox Code Playgroud)

现在突然github有我删除的那三个提交.

我究竟做错了什么?如何保持提交不返回?

Ane*_*nan 12

在应用新更改之前使用git rebase进程.重新定位后添加新的更改并提交.

git rebase -i HEAD~2

git push origin +master
Run Code Online (Sandbox Code Playgroud)

  • @Jistanidiot,很可能是你在搞乱`git reflog`的存储.实际上并不是太明亮的想法,因为`git reflog`有自己的方法来操纵它的存储,你有改变来破坏某些东西. (2认同)
  • 谢谢!我首先做了一个`git reset --hard <commit_number>`然后使用你的命令,它就像一个魅力! (2认同)