Git分支以及标签的介绍

目录

一. Git分支

四大环境

使用分支操作

pull拉取远程指定分支以及push推送到远程指定分支 

场景应用“分支的新建与合并”

 二. Git标签

使用标签操作


一. Git分支

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。

有人把 Git 的分支模型称为它的“必杀技特性”,也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出。 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。

四大环境

dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大。
test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定
pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。
pro(master)环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境。 

使用分支操作

1. 查看分支

        git branch           //查看本地分支
        git branch -a        //查看远程分支

2. 创建分支

        git branch name        //创建本地分支
        git push <远程仓库名> <远程分支名>        //创建远程分支

3. 切换分支

        git checkout name

4. 创建+切换分支

        git checkout -b name

5. 合并某分支到当前分支

        git merge name
    注意:当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
    使用git log --graph命令可以看到分支合并图。

6. 删除分支

        git branch -d name              //删除本地分支

        git push origin --delete dev   //删除远程分支

7. 重命名本地分支,并提交到远程

        1.重命名 
               git branch -m oldBranchName newBranchName
        2.删除远程分支
               git push origin :oldBranchName
        3.将重命名过的分支提交
               git push origin newBranchName

pull拉取远程指定分支以及push推送到远程指定分支 

1. pull操作

1.将远程指定分支 拉取到 本地指定分支上
       git pull <远程仓库名> <远程分支名>:<本地分支名>

2.将远程指定分支 拉取到 本地当前分支上
       git pull <远程仓库名> <远程分支名>

3.将与本地当前分支同名的远程分支 拉取到 本地当前分支上
       git pull <远程仓库名>

     在克隆远程项目的时候,本地分支会自动与远程分支建立追踪关系,可以使用默认的origin来替代远程仓库名
     所以,我常用的命令就是 git pull origin <远程仓库名>,操作简单,安全可控。


2. push操作

1.将本地当前分支 推送到 远程指定分支上(注意:pull是远程在前本地在后,push相反)
       git push <远程仓库名> <本地分支名>:<远程分支名>

2.将本地当前分支 推送到 远程指定分支上
       git push <远程仓库名> <远程分支名>

3.将本地当前分支 推送到 与本地当前分支同名的远程分支上
       git push <远程仓库名>

     推荐使用第2种方式,git push origin <远程分支名> 

场景应用“分支的新建与合并”

实际工作中你可能会用到类似的工作流。 你将经历如下步骤
        1.开发某个软件
        2.为实现某个新的需求,创建一个分支。
        3.在这个分支上开展工作。
正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理
        1.切换到你的线上分支(production branch)。
        2.为这个紧急任务新建一个分支,并在其中修复它。
        3.在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。
        4.切换回你最初工作的分支上,继续工作。另外,不要忘记将这个BUG在当前分支中进行修复    

 二. Git标签

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。
将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照

Tag格式: 主版本号.次版本号.修订号-类型标签,其中类型标签可为:alpha、beta、rc、r。
Tag示例:1.0.0-alpha、1.0.0-beta、1.0.0-rc、1.0.0-r

使用标签操作

查看所有标签:        git tag

注意:标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息

 创建标签:        git tag tagname

注意:创建标签首先要切换到需要打标签的分支上,再创建标签

git标签分为两种类型

轻量标签(lightweight)与附注标签(annotated)。

轻量标签很像一个不会改变的分支——它只是某个特定提交的引用。

而附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。

git tag tagname                                       //创建轻量标签
git tag -a tagname -m "一期开发完成"    //创建附注标签

推送标签到远程:        git push origin tagname 

删除本地标签:        git tag -d tagname

删除远程标签:        

        1. 如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
            git tag -d tagname
        2. 然后,再从远程删除。删除命令也是push,但是格式如下:
            git push origin :refs/tags/tagname

你可能感兴趣的:(git,团队开发,gitee)