从分支删除提交

时间:2020-06-03 15:20:58

标签: git

我正在同时在两个不同的分支上使用git(例如feature/feature_1feature/feature_2

feature/feature_1上,我从母版开始,已经推送了一些提交(但未合并)。

对于feature/feature_2,我也想从大师那里开始,但是不幸的是,我从feature/feature_1开始,但是一开始我没有注意到它,所以我提出了一些承诺。

因此,在feature/feature_2上,我有feature/feature_1的每一次提交(我不想在此分支上),以及我想保留的其他一些提交。

如何从feature_1中“删除”对feature_2的提交,而又不删除对feature_2所做的工作。

我要指出的是,两个分支都已经被推送但尚未合并,并且没有任何共同点。

谢谢

2 个答案:

答案 0 :(得分:4)

最简单的方法:

git rebase --onto master feature/feature_1 feature/feature_2

就这样

答案 1 :(得分:1)

结帐feature_2

$ git checkout feature/feature_2

针对主服务器进行交互式变基:

$ git rebase -i master

在出现的编辑器中删除所有不需要的feature_2提交,然后保存并退出。

如果需要其他人来查看更改,则需要强制推动分支-此操作正在更改历史记录。