我有一个稳定的主分支,并且"搞乱"开发部门。
当dev分支正常并准备发布时,我会这样做:
git checkout master
git merge dev
git push
git checkout dev
我想知道是否有更简单的方法吗?
我知道我可以为此做别名,但也许有git release
这样的东西我错过了吗?
答案 0 :(得分:2)
这仅适用于您的合并是快进的,即自您创建master
分支以来dev
上没有提交:
git fetch . dev:master
您也可以将.
替换为远程存储库。
请注意,此命令不会创建合并提交。它会将您的master
转发到dev
分支的顶部。
答案 1 :(得分:2)
没有办法让你上面的四个命令更短,保存为脚本,例如
#!/bin/bash
set -e
set -x
git checkout master
git merge dev
git push
git checkout dev
请注意使用set -e
来阻止错误,并set -x
打印出它正在做的事情。
正如@StefanFerstl指出的那样,如果您知道案例更简单,则可以使用更少的命令。但不是一般情况。
答案 2 :(得分:1)
除了概述脚本解决方案的其他答案之外,您可能还想看看“Git Flow”:http://nvie.com/posts/a-successful-git-branching-model/
它为功能分支,发布,修补程序等提供工具和流程。
上面的例子可以用
之类的东西来完成git flow release start 1.0.0
然后是
git flow release finish 1.0.0