我有这棵树:
git log --graph --all --oneline
* B1.1
* B1
| * B2
|/
* A
我想删除B2。我
git switch B2 --detach
并尝试了reset --hard
或rebase -i
,但它们都不起作用:
git reset --hard HEAD^
git rebase -i HEAD^ (then drop B2)
似乎没有更多建议可以尝试从Throwaway local commits in Git和Remove old git commits。
认为这里最好的解决方案是使用cherry-pick:
git checkout A
git checkout -b new-branch
git cherry-pick B1
git cherry-pick B1.1
之后,推一下