繁体   English   中英

Git删除推送提交

[英]Git delete pushed commits

我在我的项目中使用git存储库。 我不小心推了2个我不应该提交的提交。 在某些人之间已经做出了承诺。 是否有可能删除我推送的提交,或者我必须删除我的代码更改并将其作为新提交推送,因为有人已经提交了它。

Git Master分支:

由我提交一个//

承诺B //由我

由某人提交C //

现在我必须删除提交A和B离开提交C.任何帮助将非常感谢。

git reset --hard HEAD~1

其中HEAD~1表示在head之前提交。

或者找到你想要的提交的提交id(查看git log的输出),然后执行以下操作:

git reset --hard <sha1-commit-id>

你将不得不还原那些提交。

从技术上讲,它的作用是删除这些更改并进行新的提交,撤消它们。

现在,恢复他们将使他们留在历史上,但通常这是好的。 如果那是完全不可接受的,那么请看一下像filter-branch和force push这样的解决方案。

git rebase --onto master~3 master~1 master

你可以通过命令git help rebase看看帮助,然后是--onto选项,或者你在这里看到它。 该文档有一个例子,就像你的情况一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM