将 Git 分支提升为 master

Pay*_*ian 6 git github

我有一个 git(和 Github)存储库,其中包含一个master分支、一个development分支和几个功能分支。每个功能分支都被分支出来development并随后合并到development.

我现在想“推广”developmentmaster. 我不想合并这两个分支,因为可能会出现冲突。本质上,development是“生产就绪”,我想master反映development. 我怎样才能做到这一点?

Myk*_*rov 5

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

 git push origin origin/development:master
Run Code Online (Sandbox Code Playgroud)

如果从当前的 master 开始开发,这将起作用。如果没有,并且您不想保留主服务器的历史记录,您可以强制推送:

git push -f origin/development:master 
Run Code Online (Sandbox Code Playgroud)

如果有其他工作(分支)从 master 分叉出来,则可能会出现强制推送的问题。在这种情况下,最安全的方法是进行技术合并,如前面提到的线程的答案中所述。


And*_*tto 5

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

虽然这对于普通的 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
Run Code Online (Sandbox Code Playgroud)