【发布时间】:2015-08-06 04:49:24
【问题描述】:
假设我有这样的 git 提交历史(新 -> 旧):
C -> B -> A
在 C 提交之后,我开始意识到 A 有问题。也许一个测试用例应该在那个提交中,但实际上它并不存在。那么我该如何处理这种情况呢?进行新的提交并将其融合到 A?how?
问题解决了:
git checkout Agit checkout -b fix- 编辑
git add filesgit commit --amendgit rebase fix master
【问题讨论】:
-
您可以从 A 分支,进行提交,然后在其之上重新定义 B+C。
-
创建一个新的提交 D 来修复新分支中 A 内部的问题。然后做
git rebase --interactive。这将允许您重新排序您所做的提交(对其进行排序,使其为 C->B->D->A)。小心:这是重写提交历史,如果其他人已经拉了你的分支,你会遇到问题
标签: git