首页 > 解决方案 > 如何回滚 GIT 中某个分支的所有提交?

问题描述

我在 08/01 "12345-Fix" 从 master 创建了新分支

我在 08/04 "56789-Fix" 从 / master 创建了新分支

08/05 我将“56789-Fix”分支代码推送到远程主分支,因此这将提交 4 和提交 5 都推送到了主分支。

于 08/06 开始重新处理“12345-Fix”

2007 年 8 月,我将“12345-Fix”分支代码推送到远程 master,因此这将所有 5 个提交(1、2、3、6、7)推送到 master 分支。

现在,当我在 Github 中查找时,提交列表显示为

我的问题是,如果我只想从 master 分支回滚“12345-Fix”分支代码,我该怎么做?我知道我可以回滚到某个提交“提交 1”,但它会回滚提交 4 和提交 5 的“56789-Fix”,我不想回滚。

有什么建议么?

标签: gitgithubgitlab

解决方案


由于提交已被推送,您将需要创建一个或多个新提交以撤消提交 1、2、3、6 和 7 的影响。执行此操作的命令是git revert.

我想做类似的事情

git revert --no-commit 1 2 3 6 7

然后检查 by 所做的更改git revert是否是您想要的更改,然后使用正常的git commit.

您将需要在命令中正确识别每个提交,并且不能使用所示的数字。我建议使用每个提交 ID 的前几个字符代替我上面显示的每个小整数,或者如果您有信心,可以使用修订范围。


推荐阅读