Promote Git branch to master

I have a git (and Github) repo with a master branch, a development branch and several feature branches. Each of the feature branches have been branched off development and subsequently merged into development .

I'd now like to "promote" development to master . I don't want to merge these two branches because conflicts may arise. Essentially, development is "production ready" and I'd like for master to reflect the current state of development . How can I do this?


In other words, develop is your new master. The easiest way to do that would be to simply push developer to master:

 git push origin origin/development:master

This will work if development started from current master. If not, and you don't want to keep the history of the master you can force the push:

git push -f origin/development:master 

The problem with the forced push might arise if there is other work (branches) forked from master. In such case the safest approach would be to do a technical merge as described in the answers to earlier mentioned thread.


I think that is better to have a merge commit when declaring develop as ready for production, so that you can roll back.

While this is perfectly doable with plain git commands, I have a script to do all the steps: https://gist.github.com/soulrebel/9c47ee936cfce9dcb725

In practice this is what a promote command does:

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
链接地址: http://www.djcxy.com/p/43556.html

上一篇: 如何在不丢失Git中的最后一个提交的情况下将HEAD重置为某个提交?

下一篇: 推动Git分支掌握