【Git入门之八】分支管理

原创 2013年10月05日 14:10:01

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12309385


1.分支又是神马?

我为什么说又是。。。

分支就是一个我们能通过它创建出独立代码副本的东东。建立一个git仓库时,它会默认帮我们创建一个主分支,叫做master,之前所有的介绍我们都是在mater上面进行操作的。

这是一个最简单的分支模型,本文也基于此模型。每个点代表一个版本,master代表默认主分支,而branch代表新建的分支,HEAD可以认为是一个移动的指针,它指向谁,谁就是当前版本。


2.显示分支

通过《git branch》可以显示分支,前面带*号的表示当前所在的分支。

  1. #显示分支  
  2. $ git branch  
  3. * master  

3.创建分支

通过《git brach 分支名》可以创建一个新的分支。

  1. #创建分支br  
  2. $ git branch br  

4.切换分支

  1. #切换到br分支  
  2. $ git checkout br  
  3. Switched to branch 'br'  

5.修改分支内容并提交

  1. #修改br分支中的Jackydata01  
  2. $ echo "Im in br now" > Jackydata01  
  3.   
  4. #提交br分支中的修改  
  5. $ git commit -a -m "modify in br"  
  6. [br 9ad62b7] modify in br  
  7.  1 file changed, 1 insertion(+), 1 deletion(-)  
  8.   
  9. #显示br中Jackydata01内容,成功修改  
  10. $ cat jackydata01  
  11. Im in br now  

6.返回主分支,确认修改

发现主分支master的内容并无修改,在分支中修改提交内容并不会影响其他分支。

  1. #切换到master  
  2. $ git checkout master  
  3. Switched to branch 'master'  
  4.   
  5. #显示br中Jackydata01内容,无修改  
  6. $ cat jackydata01  
  7. Hi Jackygit2  


7.推送分支到远程仓库

默认情况下,git只会推送已匹配的分支,所以如果新建分支,需要手动推送到远程仓库。我们这里推送到github。

  1. #推送br到github的br上,如果不存在则新建,存在则更新  
  2. $ git push git_github br:br  
  3. Counting objects: 5, done.  
  4. Delta compression using up to 2 threads.  
  5. Compressing objects: 100% (2/2), done.  
  6. Writing objects: 100% (3/3), 265 bytes | 0 bytes/s, done.  
  7. Total 3 (delta 1), reused 0 (delta 0)  
  8. To git@github.com:fusijie/JackyGit.git  
  9.  * [new branch]      br -> br  

一旦这个分支被推送到远程仓库,那以后直接《git push 目标》就可以把所有分支都推送上去了。 


8.本地合并分支

使用git merge 分支名来合并分支,不过前提是要先切换到master上,如果在br上合并是没用的。

  1. #合并br到主分支上  
  2. $ git merge br  
  3. Updating 6937dbd..9ad62b7  
  4. Fast-forward  
  5.  Jackydata01 | 2 +-  
  6.  1 file changed, 1 insertion(+), 1 deletion(-)  


9.合并本地分支到远程分支

合并本地的br分支到远程仓库的master分支。

  1. #把本地的br分支合并到远程仓库的master中  
  2. $ git push git_github br:master  
  3. Total 0 (delta 0), reused 0 (delta 0)  
  4. To git@github.com:fusijie/JackyGit.git  
  5.    61a92ec..be39e3f  br -> master  


10.删除分支

删除分支使用《git branch -d 分支名》来删除,如果分支被修改提交过但是没有被合并,那需要使用《git branch -D 分支名》来删除。

  1. #删除br分支  
  2. $ git branch -d br  
  3. Deleted branch br (was 9ad62b7).  
  4.   
  5. #确认当前分支  
  6. $ git branch  
  7. * master  

11.删除远程分支

  1. #删除远程br分支  
  2. $ git push git_github :br  
  3. To git@github.com:fusijie/JackyGit.git  
  4.  - [deleted]         br  

12.显示远程分支

可以使用-a显示所有分支或-r参数来显示远程分支

  1. #显示远程分支  
  2. $ git branch -a  
  3. * master  
  4.   remotes/git_github/master  
  5.   testremote/maste  

13.克隆远程分支到本地

《git checkout -b 分支名》表示本地创建分支并切换到该分支。

  1. $在本地新建br分支,并把远程分支br克隆到本地br  
  2. $ git checkout -b br git_github/br  
  3. Branch br set up to track remote branch br from git_github.  
  4. Switched to a new branch 'br'  
版权声明:本文为博主原创文章,未经博主允许不得转载。

Git代码分支管理在项目中的实践

Git是一个非常强大的版本管理工具,
  • tiedayi
  • tiedayi
  • 2014年11月08日 00:55
  • 2267

多人开发 Git 分支管理详解

大纲:  1.前言  2.创建分支  3.切换分支  4.合并分支(快速合并)  5.删除分支  6.分支合并冲突  7.合并分支(普通合并)  8.分支管理策略  9.团队多人开发...
  • u014041012
  • u014041012
  • 2016年02月16日 20:25
  • 8604

Git分支管理规范和解析

目录 quick start why git 仓库和分支管理 远程和本地 分支管理 实战 git命令 git GUI 参考 quick_start 安装git工具可以使用git命令行,启动命令行工具...
  • dream_coder_21
  • dream_coder_21
  • 2017年06月15日 09:32
  • 260

Git 分支管理最佳实践

Git 分支管理最佳实践 Git 是目前最流行的源代码管理工具。熟练使用 Git 已经成为开发人员的必修课之一。对于团队开发来说,如何有效的使用 Git 的分支是一个重要的课题。需要在新功能开发,新...
  • jljf_hh
  • jljf_hh
  • 2017年04月01日 12:42
  • 514

Git分支管理模型

参考博客: 阮一峰 分支管理策略 分支管理策略 分支管理目的: 打包方便,不影响测试效率。 分支自管理,便于开发独立性。 bug易于处理,并不影响现行开发进...
  • u014099894
  • u014099894
  • 2015年11月23日 01:07
  • 646

Git的版本和分支管理

Git的版本和分支管理:一步步教你使用Git管理分支和Tag
  • xiahouzuoxin
  • xiahouzuoxin
  • 2014年04月08日 00:02
  • 24606

Git 分支管理(Eclipse)

Git 分支管理(Eclipse) 几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需...
  • wagnteng
  • wagnteng
  • 2016年09月27日 20:39
  • 1001

git学习之三:分支管理

介绍git版本控制的核心利器-分支(branch)。
  • xuesuc
  • xuesuc
  • 2016年05月28日 15:00
  • 1032

iOS学习----------git分支管理

在iOS开发中个人觉得使用git管理代码比较方便,而在使用git时使用分支管理代码会快速解决在开发中遇到的问题。 使用场景:(1)当需要修改一个bug的时候,可以切出分支在分支上修改,不修改主线的代码...
  • yziOS
  • yziOS
  • 2016年03月04日 15:57
  • 1863

Git 以分支的方式同时管理多个项目

你是否遇到过这样的问题: 你的客户在你们这边做了N个项目,而项目之间又存在着某些业务关联(数据库访问等) 之前你可能是这样处理的,为客户的每个项目创建单独的Git版本 P...
  • yishengzhiai005
  • yishengzhiai005
  • 2016年04月08日 14:59
  • 3109
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Git入门之八】分支管理
举报原因:
原因补充:

(最多只允许输入30个字)