将 Git 个分支升级为 master

Promote Git branch to master

我有一个 git(和 Github)回购协议,其中有一个 master 分支、一个 development 分支和几个功能分支。每个功能分支都已从 development 分支出来,随后合并到 development

我现在想 "promote" developmentmaster。我不想合并这两个分支,因为可能会出现冲突。本质上,development 是 "production ready",我希望 master 反映 development 的当前状态。我该怎么做?

换句话说,开发是你的新主人。最简单的方法是简单地推动开发人员掌握:

 git push origin origin/development:master

如果开发是从当前的 master 开始的,这将有效。如果没有,并且您不想保留 master 的历史记录,您可以强制推送:

git push -f origin/development:master 

如果有其他工作(分支)从 master 分叉出来,则可能会出现强制推送的问题。在这种情况下,最安全的方法是按照前面提到的 thread.

的答案中所述进行技术合并

我认为在声明开发准备好生产时进行合并提交更好,这样您就可以回滚。

虽然使用简单的 git 命令完全可以做到这一点,但我有一个脚本可以完成所有步骤:https://gist.github.com/soulrebel/9c47ee936cfce9dcb725

实际上,这是提升命令的作用:

git pull --ff-only         # check we are up to date on our branch
git checkout master        # go the target branch
git pull --ff-only         # check updates there too
git merge develop --no-ff  # merge with a commit
git push                   # push the merge
git checkout develop       # back to develop