首页 > 解决方案 > 有没有办法从你当前的 HEAD 历史记录中的某个地方删除一个提交?

问题描述

没有git rebase -i HEAD~(1+whatever the depth of the commit is)?例如类似的东西git drop iu34kjh233

我在一个更像 cvs 的工作流程上工作(而且我无权改变它),所以我们一次只选择一个提交master。有时我会做两件事情,HEAD作为基础,commit1在上面HEADcommit2上面commit1git drop commit1 && git push -f mygithubrepo HEAD:refs/heads/myprbranch当我想 PR 时能够方便commit2。有没有办法做到这一点?

标签: git

解决方案


我认为没有任何干净的方法可以做到这一点git rebase

如果您不介意肮脏的历史,您仍然git revert <commit_sha>可以创建反向提交到您想要删除的那个。

不要忘记这rebase是一个非常通用且功能强大的工具,使用起来也很棘手。

Mostley 的事实是,如果你从历史的中间删除一个提交,你将创建新的历史流,提交的 sha-s 与它们原来的完全不同。围绕这个做任何自动/脚本化的工作是危险的。特别是当分支已经被推送到远程时。


推荐阅读