删除与其他合并分支一起附带的分支



我有 3 个分支;

答:我们用于测试的主分支。

B:更改这些更改的分支必须在 A 分支中。

C:更改这些更改的分支不得位于 A 分支中。

所以,当我在研究B时,我将C合并到B中,并继续在B上工作。 最后,我将 B 合并为 A。

我想从 A 中删除所有 C 提交,但将 B 分支保留在 A 中。

我正在使用GitKraken,但每个建议都会被接受。

如果分支 C 不是太大,我只会使用"git revert"。在像GitKraken这样的GUI客户端中,你通常可以右键单击一个提交并"恢复"它。

例如,如果你的 C 分支有提交 [C1, C2](按此顺序(,你应该先恢复 C2,然后再恢复 C1:

git revert C2
git revert C1

注意:将此处的 C1 替换为 C1 提交的 SHA。

如果其中一个还原没有干净地发生,则需要查找并解决冲突。

如果将 C 合并到 B 不是快进合并,而是生成了合并提交,则可以在历史日志中找到该合并提交 - "Cm" - 并尝试仅还原该单个提交

git revert Cm

如果你在 C 中有超过 3 个左右的提交,我会尝试将 A 重置为以前的状态(在 B 合并之前(,准备一个新的 B 干净版本 - 称之为 B2 - 并将 B2 合并到 A 中。

最新更新