[英]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.