git的branch以及merge
来源:互联网 发布:关于农村淘宝面试问题 编辑:程序博客网 时间:2024/04/30 02:52
用惯了svn,对于git的merge和branch始终不太会用,srs在github上后开始用git,用了一年多才慢慢搞清楚一点点东西。
git的merge很靠谱,不用每次都手工merge,必须使用branch的merge,否则会很慢。
不过merge需要搞清楚那些branch,以及merge,还有commit之类,需要花些时间。
一般的惯例是master+release+develop,或者加其他的branch,srs没有那么大,就把master和develop合并了。
也就是srs的branch只有develop(master)和release。
就算只有develop+release,也有merge,release上因为只fix bug,所以改动会小,如果有bug修改可以merge到develop。标准的操作是从release打hotfix的branch,然后fix后merge到release和develop,或者直接从release merge到develop也可以。
有时候有临时的feature,悬而未决的,可以新开branch。但是这些branch都必须和develop保持merge。等完全确定后再merge回develop。
这个图中,srs-librtmp有一些修改,然后从master merge。
1.0release上有bug fix,还未有merge到master,接下来就是master merge 1.0release的bug fix。
在master分支上,使用git merge --no-ff 1.0release之后的图如下:
也就是说:
1. 1.release => master
2. master => srs-librtmp
等srs-librtmp分支有结果了:
3. srs-librtmp => master
这种是衍生式的分布式开发,都是不断分支和合并往前走。
git还有其他的很多用法,确实很灵活,譬如加入多个remote可以推送到不同的git服务器。
值得好好学学,门槛确实比svn高很多,这篇文章写得很好,值得好好读读:http://www.open-open.com/lib/view/open1328070090108.html
- git的branch以及merge
- Git merge 不同的branch
- git merge不同branch文件
- git(2) -- git branch merge
- Git: How To Revert A Branch Merge
- git merge,rebase和*(no branch)
- git pull wrong branch cause merge error
- git——branch checkout merge
- git merge,rebase和*(no branch)
- git merge-base 与 show-branch 命令
- SVN branch Merge的操作
- git cherry-pick + commit id 单独merge 任意一个branch的任意一个commit到本branch上
- Git branch的分析
- Git branch的分析
- git branch的使用
- git分支操作(git branch;git checkout;git checkout -b;git merge;git merge --abort)
- Git merge和git branch 分支与合并
- Git merge和git branch 分支与合并
- 工作积累(一)——保存bitmap
- 『ANDROID』反射取子类、父类 属性
- 关于无线射频干扰的客户调查结果
- POJ 3691 DNA repair AC自动机DP
- Objective-C中的@property和@synthesize用法
- git的branch以及merge
- Linux创建用户后,切换用户报This account is currently not available
- CentOS 6.5安装Erlang/OTP 17.0
- spring组件扫描<context:component-scan/>使用详解
- cocos2d-x 3.2线程安全的消息中心
- java.lang.IllegalArgumentException: Registered more than one instance with the s
- css中的margin(源W3school)
- Tomcat 运行错误
- 使用XCode编写mac app学习笔记