我有一个带有master
分支,development
分支和几个功能分支的git(和Github)repo。每个功能分支都已分支development
,然后合并到development
。
我现在想“推广”development
到master
。我不想合并这两个分支,因为可能会发生冲突。基本上,development
是“生产就绪”,我希望master
能够反映development
的当前状态。我怎么能这样做?
答案 0 :(得分:4)
我认为在将开发声明为生产准备就绪时更好地进行合并提交,以便您可以回滚。
虽然这对于普通的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
答案 1 :(得分:3)
换句话说,开发是你的新主人。最简单的方法是简单地将开发人员推向掌握:
git push origin origin/development:master
如果从当前主站开始开发,这将有效。如果没有,并且你不想保留主人的历史,你可以强制推动:
git push -f origin/development:master
如果存在从master分叉的其他工作(分支),则可能会出现强制推送的问题。在这种情况下,最安全的方法是进行技术合并,如前面提到的thread的答案所述。