Git branch (分支学习)
以前总结的一些git操作,分享在这里.
Git 保存的不是文件差异或者变化量,而只是一系列文件快照。
git diff tmp
git merge tmp
上述命令其实相当于git fetch 和 git merge在实际使用中,git fetch更安全一些因为在merge前,我们可以查看更新情况,然后再决定是否合并
serverfix 的分支需要和他人一起开发,可以运行 git push (远程仓库名) (分支名):serverfix 分支名扩展为refs/heads/serverfix:refs/heads/serverfix,意为“取出我在本地的 serverfix 分支,推送到远程仓库的 serverfix 分支中去”。git push origin --delete <branchName>
git push origin :<branchName>
git push origin --delete tag <tagname>
git tag -d <tagname> git push origin :refs/tags/<tagname>
git push --tags
更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:
git fetch -p
checkout 出来的本地分支,称为 跟踪分支 (tracking branch)。跟踪分支是一种和某个远程分支有直接联系的本地分支。在跟踪分支里输入 git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。同样,在这些分支里运行 git pull 会获取所有远程索引,并把它们的数据都合并到本地分支中来。git am *.patch; 如果merge失败,需要处理冲突
master分支是整个项目的主分支。
所有其他分支都直接或间接源自master。master分支是可直接用于产品发布的代码。
develop分支反映最新的开发进程。
develop中的代码总是可以完整build的。当develop中的代码进入稳定状态(修复了绝大多数bug)准备release时,所有develop中的更改将通过release branch最终merge到master。
除master和develop以外的分支都是临时分支。当这些临时分支完成其使命,就可以删除它们。我们先看feather分支。
feather分支用于某个新feather的开发,源自develop,并最终merge到develop。
feather分支最终的结局要么合并到develop branch,要么被抛弃。feather分支用如下命令创建:
# git checkout –b my feather develop
完成后将这个feather合并到develop:
# git checkout develop
# git merge --no-ff myfeather
# git branch –d myfeather
# git push origin develop
合并时--no-ff选项避免fast forward。使用该选项和不使用该选项得到的分支路线图分别如下:
release分支用于准备新版本的发布。源自develop,merge到develop和master。
release分支仅修复小的bug,完成准备版本号,build date等工作。而develop分支可以同时开始新feather的开发。该分支上修复的bug需要merge到develop,并在该分支完成时merge到master。此时需要给master打上tag,标记这个新的release。
Hotfix分支用于紧急bug修复,源自master,merge到develop和master。
对于已发布的产品,可能有意外的紧急bug需要修复。hotfix branch可以避免修复bug的工作影响develop branch。
创建hotfix branch:
# git checkout -b hotfix-x.y master
完成hotfix branch:
# git checkout master
# git merge --no-ff hotfix-x.y
# git tag –a x.y.z
# git checkout develop
# git merge --no-ff hotfix-x.y
# git branch –d hotfix-x.y
这里有个例外就是,如果hotfix发生时有正在进行的release branch,那么将hotfix merge到release,而release最终会merge到develop和master。
Git branch (分支学习)的更多相关文章
- Git入门指南十一:Git branch 分支与合并分支
十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master ...
- Git branch 分支与合并分支
Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master 新建一 ...
- git branch 分支与合并
在使用 git 进行分支开发与合并的时候需要用到这些命令.其他基本 git 命令参考 Git 简易食用指南 git branch 查看分支 git branch 查看当前分支情况 创建分支 git b ...
- git branch 分支和分支合并
一般一个项目有一个默认的分支 master 主分支,然后可以有许多个分支,在别的分支上的操作不会影响到主分支.使用git branch查看当前多多少分支以及当前处于哪个分支上:执行git branch ...
- git branch分支管理用法总结
查看分支(远程和本地) 1 查看本地分支: $ git branch 2 查看远程分支: $ git branch -r 3.查看本地和远程分支 $ git branch -a 创建分支 1.创建本地 ...
- git入门(3)git checkout 和git branch分支的创建和删除
在一个项目中,需要多人同时开发,协同coding 要求: 开发时请用开发分支daily/0.0.1, 禁止直接使用master分支开发新建分支 git checkout -b daily/0.0.1 ...
- git branch 分支
几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副 ...
- git branch 分支操作
一.git分支命令 Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创 ...
- git branch 分支管理
在多人协作的情况下,master通常是稳定的分支.可以再建一些"develop","testing"等名称的分支.主管master的人做开发的话最好也建立自己的 ...
随机推荐
- 微信支付JS API使用心得
微信的接口真的很坑爹,只返回成功或失败,从来不会告诉你为什么失败.这个微信支付的js接口也是调了一个下午才成功,期间踩了不少坑,在这里总结一下,而且把支付接口封装成了一个js文件,这样以后调用就很方便 ...
- 几条特殊的SQL语句
1, 有case情况. select trunc(exf_payment_receipt.work_date),exf_payment_receipt.exchange_code,exf_paymen ...
- keil 51警告编译优化
KeilC51中将工程中没有调用的函数不进行编译的方法 把Target Options中的Device页中选上"Use Extended Linker(LX51)instead of BL5 ...
- Temporary Post Used For Theme Detection (da655c32-bc15-41ad-bf89-e76c1ec1bea7 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
This is a temporary post that was not deleted. Please delete this manually. (997facfe-d420-4437-a222 ...
- css中文本框与按钮对不齐解决方案
我们先对对input标记设定样式,代码如下: html 代码 <form> <input type=”text” name=”text1” id=”text1” /> < ...
- javaScript Code 用javascript确定每月第二个星期五
废话少说只就上Code: 说明:getDay()方法获取星期(这里的星期是从0到6).参见:http://www.w3school.com.cn/js/js_obj_date.asp 中的ge ...
- 安卓接入ShareSDK问题
平台图标错乱原因 导出的jar包 包括了 style.class R$attr.class MainActivity.class R$color.class R$drawable.class R$s ...
- RTMP
实时消息传输协议 RTMP(Real Time Messaging Protocol) http://blog.csdn.net/defonds/article/details/17403225 译序 ...
- asp.net 框架接触(2)
1. 学习一个框架就要尽量按照它的各种规则(命名规则等)来命名,写代码 比如 下列Entity层内的代码"StudentInfo"编写应与数据库内的表名严格对应 不然就会报错 [T ...
- ANDROID_MARS学习笔记_S01原始版_001_Intent
一.Intent简介 二.代码 1.activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.co ...