【发布时间】:2020-09-05 23:24:12
【问题描述】:
刚刚发现提交到了错误的分支,但没有推送到原点。同一个分支在它被推送之后有很多提交(由另一个开发人员)。
我如何将一个未推送的提交带到另一个分支(或完全摆脱它)?我知道我可以将它挑选到其他地方,但是在不删除之后的所有更改的情况下删除它的最佳方法是什么?
使用 Gitkraken,但无论如何都能完成工作。
【问题讨论】:
标签: git version-control gitkraken
刚刚发现提交到了错误的分支,但没有推送到原点。同一个分支在它被推送之后有很多提交(由另一个开发人员)。
我如何将一个未推送的提交带到另一个分支(或完全摆脱它)?我知道我可以将它挑选到其他地方,但是在不删除之后的所有更改的情况下删除它的最佳方法是什么?
使用 Gitkraken,但无论如何都能完成工作。
【问题讨论】:
标签: git version-control gitkraken
首先,将其樱桃挑选到正确的分支。
git checkout the-proper-branch
git cherry-pick the-commit-id
然后回到错误的分支,并从有问题的提交开始使用交互式 rebase 将其删除。
git checkout the-wronged-branch
git rebase -i the-commit-id~
这将弹出一个编辑器,其中包含每个提交和说明的行。删除有问题的提交的行,保存,退出,分支的历史将被重写,没有有问题的提交。
请参阅 Pro Git 中的 Rewriting History 了解更多信息。
【讨论】: