如何从PR的另一个分支中删除不需要的提交

问题描述 投票:1回答:1

我做了一件蠢事。我从分支A分支,在一个新的分支上进行了更改,推送并将PR转换为分支B(也将很多不需要的提交带入其中)。

我的问题是我只需要在我做出更改的分支上删除几个提交,但我不知道该怎么做。有很多关于如何摆脱最后一次提交的信息,但在我的情况下,这正是我想要留在分支上的最后一次提交。

git branch commit
1个回答
1
投票

您可以从分支创建新分支

git checkout branchB
git checkout -b newB

然后从上一个分支获取所需的更改(在这里称之为branchFromA

git cherry-pick branchFromA

(这个最后的command只选择了那个分支的最后一次提交*,就像你想要的那样)

它现在将是一个简单的快速合并分支:

git checkout branchB
git merge newB

或者对于这最后阶段,因为你似乎使用PR,只需将newB推到遥控器,从newBbranchB制作一个新PR,最后取消你的branchFromAbranchB PR。


*经常与显式提交引用一起使用,但您可以为其提供分支或标记名称,并且ref指向的提交将作为cherry-pick的目标

© www.soinside.com 2019 - 2024. All rights reserved.