Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从github中删除提交_Git_Github_Commit - Fatal编程技术网

从github中删除提交

从github中删除提交,git,github,commit,Git,Github,Commit,可能重复: 所以我试图从github中删除一个提交 这是3年前的事了,如果所有的更改都丢失了,我还可以 基于这里的问题,我做了一个 git reset --hard <sha-commit-name-to-go-back-to> git push -f origin HEAD^:master 现在github突然有了我删除的三个提交 我做错了什么?如何防止提交返回?在应用新更改之前使用git rebase流程。重定基址后,添加新更改并提交 git rebase -i HEAD~

可能重复:

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

这是3年前的事了,如果所有的更改都丢失了,我还可以

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

git reset --hard <sha-commit-name-to-go-back-to>
git push -f origin HEAD^:master
现在github突然有了我删除的三个提交


我做错了什么?如何防止提交返回?

在应用新更改之前使用git rebase流程。重定基址后,添加新更改并提交

git rebase -i HEAD~2

git push origin +master

谢谢这似乎奏效了。然而,在.git目录中,我在日志下找到了一堆文件,其中引用了我要删除的提交。在执行git push origin+master之前,我还编辑了这些文件以删除引用。@Jistanidiot,很可能是您弄乱了
git reflog
的存储。事实上,这不是一个很好的主意,因为git reflog有它自己的方法来操作它的存储,而且你有一些改变来破坏一些东西。谢谢!我首先做了一个git重置--hard,然后使用了你的命令,它就像一个符咒!我做了
git重置--hard
git push-f origin HEAD ^:master
,然后
git rebase-I HEAD~2
,nano编辑器打开文件:
file:/var/www/html/site name/.git/rebase merge/git rebase todo
,带有
pick
reword
edit
等选项。我不知道怎么办。。。
git push
git rebase -i HEAD~2

git push origin +master