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分支掌握