Git将旧的提交移动到主提示

Git将旧的提交移动到主提示,git,azure-devops,Git,Azure Devops,我们合并了master中的所有更改,它需要是一个PR。所有的发布都严格按照master进行。我们不允许从任何其他分支机构释放。我们不会在测试发布候选(commit)后的一个sprint(2周)中发布每个提交(commit)。问题是,一旦我们发布了,我们就不会停止我们的活动开发线,如果我们以后需要提供修补程序,我们必须从发布的提交到另一个分支。这需要从修补程序分支发布。不幸的是,我们有一个只从master发布的策略。是否有一种方法可以将发布提交移动到主控端,并从主控端提供修复和发布。稍后,我们想将

我们合并了master中的所有更改,它需要是一个PR。所有的发布都严格按照master进行。我们不允许从任何其他分支机构释放。我们不会在测试发布候选(commit)后的一个sprint(2周)中发布每个提交(commit)。问题是,一旦我们发布了,我们就不会停止我们的活动开发线,如果我们以后需要提供修补程序,我们必须从发布的提交到另一个分支。这需要从修补程序分支发布。不幸的是,我们有一个只从master发布的策略。是否有一种方法可以将发布提交移动到主控端,并从主控端提供修复和发布。稍后,我们想将发布后发生的所有事情都集成到master中


有没有一种方法可以在不停止开发主线和违反主策略发布的情况下实现这一点?

那么您想将
master
指向过去的另一个提交?当然首先,确保当前的
分支不会通过将其放在新分支上而被删除

git checkout -b old-master
然后切换回
master

git checkout master
现在,强制master返回到您想要的上一次提交

git reset --hard 0eaf3276
或者,如果对发布进行了标记,则可以使用它

git reset --hard v1.0.0
现在,如果你想推动你的新主分支,只要做

git push --force

而且,您的“仅从主版本发布”策略是愚蠢的。但你可能已经知道了D

不,没有,除非重写历史,否则这将不符合你的PRs。您应该搜索git flow,并将“仅从主版本发布”规则更改为实际有效的规则。将正在进行的功能工作隔离在功能切换之后,这样您就可以使
master
始终处于可交付状态。您的工作流似乎还可以。在
修补程序
分支上完成工作后,您可以将
修补程序
分支合并到
主程序
中,然后为合并到
主程序
中的更改创建新版本。那么你的中心是什么呢?@MarinaLiu MSFT发布修补程序不是从Master@ShijuSamuel您可以在
hotfix
合并到
master
分支后进行发布。对于验证修补程序分支上的更改,您可以在PR中使用生成验证策略,也可以在单独的生成/发布定义中验证修补程序。我同意,问题不是技术性的