【发布时间】:2021-11-02 03:54:02
【问题描述】:
我查看了多个对我的情况不起作用的类似问题和回复。
最近,"Github does not recognize…" 2017 年
我有这样的情况
- 分支 A -> B
- B(添加 100 次提交)
- B -> C(添加 1 个提交)
- B(添加另外 100 个提交)
- 意外:B 通过 PR 合并到 A(w/200 次提交)
- 补救措施:恢复该 PR(1 次提交)
- 愿望:将 C 合并到 A
想法/尝试
- PR (C -> A) 没有看到变化
- 侧边栏:PR (A -> C) 将尝试从 C 恢复相关更改 - 这定义了所需的努力,但相反
- 创建 C',从 A 变基 C,PR 看不到更改(因为合并/还原不涉及 C)
- 无法还原还原(above link 中的选项 1),这将包括不需要的 B 内容
- 我必须挑选樱桃吗? ??? (还原的 PR 不会列出所有提交,只显示 99,然后在“显示全部”时失败)
这是一个解决方案/解决方法吗:
- 重命名 A -> D; D 之后可能不会被使用
- 重命名 C -> A
- 如果是这样,那么 B 会离开哪里,B 的工作最终需要转移到 A 中?
加分问题,跟进上述解决方法
- 如果您有 Azure git 分支策略,它们属于分支还是分支名称?
对于那些需要混凝土的人:
- A -
master - B -
develop - C -
1.3发布分支 - D -
1.2发布(目前不作为分支存在,只是标签 1.2.0,...,可能不会使用)
注意:在我们的环境中,公司已将分支机构 A 锁定,因此我无法直接 push -f 访问它,也无法在服务器上 git reset --hard。
如果这些是选项,我会立即这样做。
在这件事上搁浅了,下次我会知道(希望永远不会发生)我会立即联系 DevOps 团队,以临时访问所需的分支,并以他们想要的方式使用工具。提交的还原是非常不可取的。
【问题讨论】:
-
你是如何还原的?
-
当你说要将 C 合并到 A 时,是否要引入 B 的 100 次提交?
-
这个问题有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒this。
-
@Schwern 还原是在 Azure 的服务器上完成的;右侧的三点菜单中有一个菜单项可以“恢复” PR。多提交 PR 被单次提交还原。
标签: git azure-devops git-merge git-rebase git-revert