如何删除未推送的git提交,同时保留其他良好的提交?

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

刚刚发现对错误的分支进行了提交,但没有推送到源。在同一分支(由另一个开发人员)推送之后,已经提交了很多提交。

我如何仅将一个未推动的提交移交给另一个分支(或完全删除它)?我知道我可以将其挑选到其他地方,但是什么是删除它而不删除之后的所有更改的最佳方法是什么?

使用Gitkraken,但可以完成任何工作。

git version-control gitkraken
1个回答
0
投票

首先,将其挑选到适当的分支。

git checkout the-proper-branch
git cherry-pick the-commit-id

然后返回到有问题的分支,并从有问题的提交开始,使用交互式变基将其删除。

git checkout the-wronged-branch
git rebase -i the-commit-id~

这将弹出一个编辑器,其中包含每个提交和说明的一行。删除有问题的提交的行,然后保存,退出,分支的历史记录将在没有有问题的提交的情况下被重写。

有关更多信息,请参见Pro Git中的Rewriting History。>>

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