我已经弄乱了我的git仓库。我曾在多个分支机构工作过,并进行过合并,这在回顾中是一个非常糟糕的决定。
我当时正在JIRADAPTER-108,JIRADAPTER-109和JIRADAPTER-104的分支机构工作(请参见历史图片)。 JIRADAPTER-108和JIRADAPTER-109是我从master分支并仅一次提交就合并回master的错误修复。为了使用这些更改,我决定将主服务器合并到JIRADAPTER-104分支中,结果发现这是个坏主意!
乍一看,我无法将JIRADPATER-104分支中的所有内容合并回master,因为不允许foxtrot合并。这是因为我尝试从origin / JIRADPATER-104(最后一次绿色提交)合并。
通过将最后一个提交合并到主控器,然后合并到JIRADAPTER-104(最后一个粉红色的提交)中,我能够将正确的更改合并到主控器中。
尽管只有化妆品,但我现在尝试摆脱那些提交到JIRADAPTER-104分支的提交,在这里我将母版合并到其中(所有绿色提交)。
我试图重置为最后一次粉红色提交:没有成功。
有人能帮助我摆脱这两个绿色提交,以便origin / JIRADAPTER-104和JIRADAPTER-104标签位于最后一个粉红色提交上吗?
编辑
使用工作树,请确保已在Enable Force Push
下设置了Tool > Options > Git
选项。
然后,工作流程与Mlad274建议的工作流程非常相似(非常感谢):
Reset current branch to this commit
Force Push
)答案 0 :(得分:2)
由于您知道所需的提交,因此只需强制分支指向它即可。
git checkout JIRADAPTER-104
git reset --hard <COMMIT-ID>
git push -f