我有很多分支,每个分支都有不同的特性。通常我会有一些额外的分支"not_master",其中包含master和feature A,如下所示:
(not_master) a--b--c--d--e---M--x--y--z
(feature A) --h--i--j-/
有时候我希望取消合并功能A,但保留“not_master”中的提交。
换句话说,我想要这样:
(not_master) a--b--c--d--e--x--y--z
我发现我可以执行
git revert -m 1 M
,这将在末尾添加一个撤消我的更改的提交,但我不想这样做,因为这些提交尚未发布,所以添加更多提交会使历史记录更难以阅读。其他人建议只需执行
git reset --hard M
,但这将放弃 x、y、z
的更改。我是不是完全想错了?我应该只需执行 git reset --hard M
并挑选 x、y、z 吗?
--force-rebase
)。 - wnoise