Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
Git 如何从历史记录中删除提交?_Git_Github - Fatal编程技术网

Git 如何从历史记录中删除提交?

Git 如何从历史记录中删除提交?,git,github,Git,Github,我是学习Git/hub的独立开发人员。在我的回购协议中只有一个分支机构“循环”。我想从历史中删除最后两次提交,因为在《不留痕迹》中,它们从未存在过。我想从Github中删除它 一旦删除了最近的两个提交,我想推送当前正在运行的本地源代码 我尝试了一次硬复位,但没有成功。我甚至尝试过在github上删除文件,但不知怎么的,还是没有成功。您必须使用--force标志 git reset --hard HEAD~2 git push --force 请注意,当您与其他开发人员协作时,强制推送很可能是一

我是学习Git/hub的独立开发人员。在我的回购协议中只有一个分支机构“循环”。我想从历史中删除最后两次提交,因为在《不留痕迹》中,它们从未存在过。我想从Github中删除它

一旦删除了最近的两个提交,我想推送当前正在运行的本地源代码


我尝试了一次硬复位,但没有成功。我甚至尝试过在github上删除文件,但不知怎么的,还是没有成功。

您必须使用
--force
标志

git reset --hard HEAD~2
git push --force

请注意,当您与其他开发人员协作时,强制推送很可能是一个坏主意。

您想从git(本地repo)或github(远程)中删除吗?@warkentien2,我猜两者都是,但更重要的是,在硬重设github(远程)后,使用强制推送。然后研究为什么对于一个已发布的代表来说,这不是一个好主意,当有多个开发人员时,这是一个更糟糕的主意。可能是@alex的重复我做了这件事,它起了作用,但在Github上,它仍然显示了我希望忘记的旧更改,在以红色突出显示的删除行中。我不知道如何更好地解释我的意思…我已经这样做了,但我认为,因为本地副本包含错误,当我下次推它时,远程回购现在已经返回了所有错误的历史。这听起来不正确。请发布历史记录并标记要删除的提交。我已经让它工作了,但在github上它仍然显示,其中红线表示删除,我要从历史记录中删除的旧内容。如果没有任何效果。。您可以将以前的提交下载到桌面。删除所有在线内容并推送本地code@Celeritas我同意。但这里的问题是GitHub,而不是git。这就是为什么一些公司试图解决这个问题,比如GitKraken。