我在gitblit服务器上有一个存储库,我执行git flow,有一个Develop和Master分支。
我在Develop上做了很多提交,现在我有一个稳定的版本,并希望将我的更改推送给Master。使用Sourcetree,推送到Master,根本不更新Master。我不得不手动打开控制台并使用:
“git push origin HEAD:develop”
为了更新我的主分支。我错过了什么?在更新我的Master分支之前,我已经从Develop获得了一个推动,但现在只有一个手动推送工作。
几周前,我在我最初的提交中获得了Master,并且我的Develop还有15个提交。我使用Sourcetree从Develop推送到Master,一切都很顺利。我让Master更新了最新版本。现在,它根本不起作用。
提前谢谢。
答案 0 :(得分:3)
假设你想要严格遵循git flow,要将你已经完成的提交到develop分支中,你应该通过一个发布分支。在SourceTree中,可以使用右上角的Git Flow按钮轻松实现。
当您准备创建发布时,只需单击Git Flow按钮,然后选择您要执行的选项:
在您的情况下,您想要创建新版本。这将创建一个新的发布分支,基于当前的开发分支。在该分支上,然后完成发布,例如,更新任何版本号等。准备好后,再次单击Git Flow按钮,然后选择Finish Release。然后,它会将发布分支合并到主分支和开发分支中。
您可以对修补程序和功能使用相同的过程,SourceTree"知道"根据您的目的,使用哪个基础分支。
注意:如果您尚未在存储库中初始化Git Flow,则首次单击Git Flow按钮时,系统会要求您提供有关存储库结构的详细信息。通常,您可以接受默认值。
SourceTree Git Flow实现基于Git Flow Branching Model我鼓励您查看,并且您还可以找到有关其具体实现的更多信息here。