从develop分支创建master分支的git命令

3
背景: 当我加入这家公司时,公司使用GitHub作为其源代码控制。所有的开发都是在“develop”分支上完成的,我甚至不确定是否存在一个正式的“master”分支。加入后不久,我们切换到了VSTS(现在是Azure DevOps)Git。我们创建了一个新的仓库,并将远程从GitHub改为新的Git仓库并推送了develop。这很好,我们得到了所有的历史和源代码。新的VSTS Git仓库有一个“master”分支,但与我们的“develop”分支没有任何关系。
现在: 我们的Dev经理离开了,他带走了单一分支开发的要求(解脱)。但现在我卡住了。目标是像nvie那样的策略。我尝试过向“master”PR,但这总是导致合并冲突,无法通过合并master到dev然后PR的方式解决(因为我习惯了这种方式)。我怀疑这是因为“develop”不是从“master”创建的分支。我如何事后修复这个问题?我想保留所有的develop提交历史记录。

我在考虑将develop重命名为master,然后创建一个新的master分支,但这样会破坏所有还未合并到主分支的功能分支吗?


如果你从未使用过“master”,为什么不直接在VSTS上删除master,然后从“develop”创建一个新的“master”呢? - Holt
还为时过早,但看起来这个问题已经解决了。谢谢。你可以将其作为答案添加,我们的下一个发布版本后我会标记它。 - Steven Young
1个回答

0

你可能想了解一下 Git 的不同合并策略

有一个叫做 ours 的策略 - git merge -S ours develop - 它会将 develop 分支合并进来,同时忽略 develop 分支中的所有更改。因此,最终得到的分支看起来与之前相同,但从现在开始,它将作为 develop 的真正后代,允许进一步合并只引入第一次合并后提交的新更改。


谢谢你指引我阅读这篇好文章。现在我对合并策略有了更深入的了解。但是,不清楚的是,我现在是否每次都需要进行“ours”合并?我真的很想解决主分支和开发分支没有共同祖先的问题。 - Steven Young

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接