有什么方法可以从git中当前HEAD历史记录的某个位置删除提交?

时间:2019-02-20 05:59:18

标签: git

没有git rebase -i HEAD~(1+whatever the depth of the commit is)吗?例如像git drop iu34kjh233

我正在研究一种更类似于cvs的工作流程(并且我没有改变的主张),因此我们一次将一个提交精选到master上。有时我会以HEAD为基础,commit1HEAD之上,而commit2commit1之上,从事两件事。当我想PR git drop commit1 && git push -f mygithubrepo HEAD:refs/heads/myprbranch时,只能够commit2便会很方便。有什么办法吗?

1 个答案:

答案 0 :(得分:0)

如果没有git rebase

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

如果您不介意肮脏的历史记录,仍然可以git revert <commit_sha>对要删除的内容创建反向提交。

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

Mostley的事实是,如果您从历史记录的中部删除一个提交,那么您将创建新的历史记录流程,其提交信息与原始信息完全不同。解决此问题的任何自动/脚本工作都是危险的。特别是在分支被推到远程时。