Git - 重置已合并到另一个分支到先前提交的分支

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

在我的 git 项目中,我遵循以下流程:

我正在一个名为 mybranch 的分支上工作,推送提交,当我想制作“版本”时,我将 merge mybranch 到“develop”分支,然后切换回 mybranch 并重复相同的过程.

意外地从mybranch合并到develop后,我忘记切换分支并留在“develop”分支并将一些提交直接推送到它(我们称它们为develop-commit-1,develop-commit-2,开发-提交-3)。

然后我工作的“mybranch”位于“develop”后面,我需要这些提交(它们最初是针对这个分支的),所以我认为将开发分支合并回“mybranch”就可以了这个伎俩”(错误的决定)。

令我惊讶的是,现在我看到“develop”分支的 git 历史记录包含“mybranch”的提交,并且从 GUI 中我看到分支已经对齐(因为反之亦然,合并 git 认为它们是相同的还是什么? ).

我想返回到以前的工作流程(保持干净的开发分支并仅添加来自 mybranch 的合并),因此我正在考虑将“develop”分支重置为上次将“mybranch”合并到其中的提交,然后只需将“mybranch”合并回它,就像我以前所做的那样,会起作用吗?我真的很害怕将“develop”分支重置回该提交是否会影响“mybranch”,因为它们已在它们之间合并(并且

mybranch包含这3个提交,这些提交位于我希望开发分支的提交点之后)重置,这里有什么建议吗?

如果描述不清楚,我绝对可以提供更多信息。预先感谢!

git version-control
1个回答
0
投票
分支是指向单个提交的指针。重置分支不会影响其他分支。

所以你想简单地重置开发并保留你的分支

mybranch

。最后,强制推动你重写的开发:

git branch -f develop "$commit_before_your_accident" git push origin +develop:develop
    
© www.soinside.com 2019 - 2024. All rights reserved.