Bil*_*lga 183 git branch git-branch
我们有一个网络应用程序,我们几乎每天更新和发布.我们使用git作为我们的VCS,我们当前的分支策略非常简单和破坏:我们有一个主分支,我们检查我们感觉良好的变化.这是有效的,但直到我们检查一个突破性的变化.
有没有人对小型团队有最喜欢的git分支策略,满足以下要求:
理想情况下,我很乐意看到一个开发人员处理新bug的分步过程
Jim*_*dra 240
您可能会受益于Scott Chacon在Pro Git中描述的工作流程.在此工作流程中,您有两个始终存在,主控和开发的分支.
master代表项目最稳定的版本,您只需从此分支部署到生产环境.
开发包含正在进行的变更,可能未必为生产做好准备.
在develop分支中,您可以创建主题分支以处理各个功能和修复.一旦您的功能/修复准备就绪,您将其合并到develop中,此时您可以测试它与您的同事合并的其他主题分支的交互方式.一旦开发处于稳定状态,将其合并到master.从master部署到生产应始终是安全的.
Scott将这些长期运行的分支机构描述为代码的"孤岛",其中一个不太稳定的分支中的代码最终将"毕业"为经过测试和团队一般批准后更稳定的代码.
一步一步,您在此模型下的工作流程可能如下所示:
有关此工作流程的更多详细信息,请查看Pro Git中的" 分支工作流程"一章.
Clu*_*tch 45
作为一名新手进入后试图找到一个直接的策略,教给其他从未使用过源代码控制的开发人员.这个适合http://nvie.com/posts/a-successful-git-branching-model/我尝试使用手册页中的标准GIT工作流程,但它让我和我的观众完全混淆了.
在过去的6个月里,我只需要两次修复冲突.我已经添加了一些步骤,以便在合并之后始终进行测试,并在开发功能时进行"获取和合并"或"拉动 - 基础"(一次在早上和下午).我们还使用github.com作为拉取最新代码的中心位置.
pro*_*365 35
(我的评论高于它自己的答案,正如我最初应该做的那样.)
来自Github的Scott Chacon:
我们如何做到这一点,GitHub Flow是什么?
- 主分支中的任何内容都是可部署的
- 要处理新事物,请从master创建一个描述性命名的分支(即:new-oauth2-scopes)
- 在本地提交该分支,并定期将您的工作推送到服务器上的同一个命名分支
- 当您需要反馈或帮助时,或者您认为分支已准备好进行合并时,请打开 拉取请求
- 在其他人审阅并签署该功能后,您可以将其合并到master中
- 一旦合并并推送到"主",您就可以并且应该立即部署
有关详细信息,请参阅整篇文章:http://scottchacon.com/2011/08/31/github-flow.html
请注意,"拉取请求"是Github的发明,它是在他们的网站上出现的东西,而不是Git本身:https://help.github.com/articles/using-pull-requests/
Lei*_*ldt 15
使用master分支作为开发分支并创建发布分支以执行错误修复.
任何新功能都将master在开发窗口期间继续(直接提交或作为带有pull-requests的主题分支,由您决定 - 未在图中显示).完成所有计划的功能后,输入功能冻结并执行测试.如果您满意,请将发布标记master为v1.0.
随着时间的推移,您的用户将发现错误,v1.0因此您需要从该标记创建分支(例如,在发布后命名1.0)并修复分支中的错误.如果你已经修复了足够的bug,你认为它需要一个新版本,然后v1.0.1将其标记为并将其合并回来master.
同时,master分支上可能会出现一个新的开发窗口,最终会被标记为v1.1.
冲洗并重复.
这遵循语义版本编号逻辑.
---------(v1.0)--------------------------------(v1.1)-----------------------------> master
\ \
---(v1.0.1)---(v1.0.2)---> 1.0 ---(v1.1.1)---(v1.1.2)---> 1.1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90159 次 |
| 最近记录: |