我有3个分支机构;
A:我们用于测试的主要分支。
B:已更改的分支必须位于A分支中。
C:更改那些的分支不得在A分支中。
所以,当我在B上工作时,我将C合并为B并继续研究B. 最后我将B合并为A。
我想从A中删除所有C提交但在A中保留B分支。
我使用的是GitKraken,但每个建议都会被接受。
答案 0 :(得分:0)
如果分支C不是太大,我会使用" git revert"。在像GitKraken这样的GUI客户端中,您通常可以右键单击提交并且"还原"它
例如,如果你的C分支提交了[C1,C2](按此顺序),你应该首先恢复C2,然后是C1:
git revert C2
git revert C1
注意:在这里用C1提交的SHA替换C1。
如果其中一个恢复没有干净地发生,您需要找到并解决冲突。
如果将C合并到B中并不是快进合并,而是生成合并提交,则可以在历史记录日志中找到合并提交 - " Cm" - 并尝试恢复该单一提交:
git revert Cm
如果你在C中有超过3个提交,我会尝试将A重置为之前的状态(在B合并之前),准备一个新的干净版本B - 称之为B2 - 并将B2合并到A.