git版本控制管理系列-----第七章 分支

分支是在软件项目中启动一条单独的开发线的基本方法。分支是从一种统一的、原始的状态分离出来的,使开发能在多个方向上同时进行,并可能产生项目的不同版本。通常情况下,分支会被调解并与其他分支合并,来重聚不同的力量。Git允许很多分支,因此在同一个版本库中可以有许多不同的开发线。Git的分支系统是轻量级的、简单的。此外,Gi对合并的支持是一流的。所以,大多数G用户把分支作为日常使用本章将揭示如何选择、创建、查看和删除分支。同时还提供一些最佳实践,防止分支扭曲成类似于灌木丛( anzanita)的样子

使用分支的原因有无数个技术、哲学、管理,甚至是社会方面的理由来创建分支。这里只是少数几个
常见理由。

  • 一个分支通常代表一个单独的客户发布版。如果你想开始项目的1.1版本,但你知道一些客户想要保持10版,那就把旧版本留作一个单独的分支。
  • 一个分支可以封装一个开发阶段,比如原型、测试、稳定或临近发布。你也可以认为1.1版本发布是一个单独的阶段,也就是维护版本
  • 一个分支可以隔离一个特性的开发或者研究特别复杂的bug。例如,可以引入一个分支来完成一个明确定义的、概念上孤立的任务,或在发布之前帮助几个分支合并只是为了解决一个bug就创建一个新分支,这看起来可能是杀鸡用牛刀了,但Git的分支系统恰恰鼓励这种小规模的使用。
  • 每一个分支可以代表单个贡献者的工作。另一个分支一“集成”分支一可以专门用于凝聚力量。Git把列出的这些分支视为特性分支( topic branch)或开发分支( development branch“特性”仅指每个分支在版本库中有特定的目的Git也有追踪分支( tracking branch)的概念,或者保持一个版本库的副本同步的分支第12章解释了如何使用一个迫踪分支。

分支还是标签


分支和标签看起来很相似,甚至是可互换的。那你什么时候应该使用标签名,什么时候应该使用分支名呢?标签和分支用于不同的目的。标签是一个静态的名字,它不随着时间的推移而改变旦应用,你不应该对它做任何改动。它相当于地上的一个支柱和参考点。另一方面,分支是动态的,并且随着你的每次提交而移动。分支名用来跟随你的持续开发奇怪的是,可以用同一个名字来命名分支和标答。如果这样做,就必须要使用其索引名全称来区分它们例如,可以使用 refs/tags/v1.0和 refs/heads/v1.0你可能想使用相同的
名称,在开发的时候作为分支名,然后在开发结束的时候将它转换为一个标签名命名分支和标签最终取决于你与你的项日策划但是,你应该考虑到关键的差异性特征这个名子是静态且不变的,还是随开发动态变化的?前者应该是标答,面后者应该是分支。最后:除非你有一个令人信服的理由,否则就应该避免使用相的名称命名分支和标签

7.2分支名

尽管有一定的限制,但是你给分支指定的名字基本上是任意的。版本库中的默认分支命名大多数开发人员在这个分支上保持版本库中最强大和最可靠的开发线并没什么神奇之处,除了OH在版本库初始化过程中会引入这个名字之外如果把总,可以垂命名甚至删除 ImasEn分,虽然可能最佳实践是别改收它4了久径可扩展性相分组织,可以回建大的分支名,类似linux的路径

命令:

1.创建分支

$ git branch tglx/pr-1138

$ git branch tglx/pr-1138 rel-2.3

2.列出分支名

$ git branch

3.查看分支

$ git show-branch

*******辅助的一些命令******

$ git branch bug/pr-2 master

$ git show-branch

$ git show-branch bug/pr-1 bug/pr-2

$ git show-branch bug/pr-1 bug/pr-2

$ git show-branch bug/*

4.检出分支

$ git checkout 分支名

*******demo******

$ git branch 

$ git checkout bug/pr-1

*****有未提交的更改时进行检出****

$ git branch 

$ git checkout dev

$ cat NewStuff

$ git diff Newstuff

$ git show dev:NewStuff

5合并分支到不同的分支

$ git checkout -m dev

$ cat NewStuff

$ git show-branch

$ echo "Some bug fix" >> NewStuff

$ cat NewStuff

$ git show bug/pr-1:NewStuff

$ git show bug/pr-1:NewStuff

$ git checkout bug/pr-1

$ cat NewStuff

$ git diff

6创建并检出新分支

$ git branch

$ git checkout -b bug/pr-3

$ git show-branch

$ git checkout -b new-branch start-point

$ git branch new-branch start-point

$ git checkout new-branck

7分离HEAD分支

$ cd git.git

$ git checkout v1.6.0

$ git checkout b new_branch

$ git branch

$ git checkout master

$ git branch

8 删除分支

$ git branch -d bug/pr-3

$ git checkout master

$ git branch -d bug/pr-3

******把要删除的分支合并到当前分支*****

$ git merge bug/pr-3

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值