Git:如何将提交融合到另一个提交中?

时间:2015-05-24 16:47:04

标签: git

假设我有这样的git提交历史(更新 - >更旧):

C - > B - >甲

在C的提交之后,我开始意识到A.Aaybe是一个错误的测试用例,假设是在那个提交中,但实际上并不存在。那么我该如何处理这种情况呢?做一个新的提交并将其融入A?how?

问题解决了:

  1. git checkout A
  2. git checkout -b fix
  3. 修改
  4. git add files
  5. git commit --amend
  6. git rebase fix master

1 个答案:

答案 0 :(得分:1)

很多人会告诉你做rebase --interactive(可能是解决方案),但是如果你打算改变提交B或C中已经改变的一些行,那将是一个很难用的地方。

另一种解决方案可能是:

  1. 在提交A
  2. 上创建并签出分支
  3. 修改提交A或创建新提交(取决于您对要做的事情有何意义)
  4. 签出仍在提交C上的上一个分支
  5. 使用rebase --onto重新绑定仅在新创建的分支上提交B和C(之后可以删除)