忘了使用`--squash`,现在提交历史很乱.我怎样才能收拾这个烂摊子?

tam*_*are 3 git git-rebase git-log git-subtree

我应该为subtree pull --squash 我的项目所依赖的第三方模块执行,但我不小心忘记了--squash.现在我的项目提交历史充斥着第三方模块提交.它们分散在整个日志中.

这个烂摊子需要消失.我如何识别属于第三方模块的所有提交,将它们压缩为一个,然后从项目历史中清除它们,如果可能的话?

更多信息:

请注意,我已经做了几次提交,我打算在操作失败后保留.

Car*_*rum 7

  1. 用于git reflog在执行损坏操作之前查找项目的状态.
  2. 查看哈希或git reset --hard它.
  3. 使用正确的标志重做操作.

  • 你知道哪些提交是你的吗?在解决问题之后,只需挑选或重新选择它们. (2认同)