• 什么是分支


    讲分支前, 我们看一下Workflow的一个工作流程.什么是Workflow呢?

    workflow

    工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。

    工作流管理系统(WfMS)是处理工作流的电脑软件系统,其主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。

    工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。

    附: 百度百科

    • Git Workflow

    Git Workflow工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。

    Git Wokrflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。除了使用功能分支,在做准备、维护和记录发布也使用各自的分支。当然你可以用上功能分支工作流所有的好处:Pull Requests、隔离实验性开发和更高效的协作。

    以上所构建出来的就是使用分支来构建的.

    创建分支

    现在我们就使用下面的命令去创建一个分支. 这个命令只是创建并没有切换到新创建的分支上. git仓库初始化创建的时候, 会为我们自动创建一个master的主分支.

    $ git branch branch-name

    可以从任何的地方创建分支, 并切换到新创建的分支上.

    $ git checkout -b branch-name

    显示分支

    如果我们想要显示当前git仓库中有多少个分支.

    $ git branch -av

    分支切换

    如果我们想从A分支切换到B分支使用下面的命令.

    $ git checkout branch-name

    删除分支

    如果我们要删除一个分支, 那么我们一定要站在另一个分支上去删除它. 也就是说不能删除当前所在的分支.

    $ git branch -D branch-name

    合并分支 

    merge

    我们将develop分支开发的提交, 合并到master分支上.

    $ git checkout master
    $ git merge develop

    如果出现冲突的时候可以使用mergetool, 解决冲突.

    $ git mergetool

    rebase

    现在我们决定把 develop 分支的变化也包含进来。我们可以直接把 develop 分支衍合到 master,而不用手工切换到 develop 分支后再执行衍合操作 — git rebase [主分支] [特性分支] 命令会先取出特性分支 develop master 上重演:

    $ git rebase master develop
    

      

    cherry-pick

    cherry-pick取出提交,然后将其添加到当前分支上, 你当前处在那个分支上就是放到相应的分支上.

    $ git cherry-pick <commit-id>

    如果出现冲突,就正常解决冲突, 然后进行重新提交.

    什么标签

    标签是为了更方便地参考提交而给它标上易懂的名称。Git可以使用2种标签:轻标签和注解标签。打上的标签是固定的,不能像分支那样可以移动位置。

    创建标签

    使用tag命令来添加标签. 是要创建标签的名称.

    $ git tag <tag-name>

    还可以根据commit ID创建标签.

    $ git tag <tag-name> <commit ID>

    显示tag标签信息

    如果没有输入要创建标签的名子, 它就会显示现在所有的标签.

    $ git tag

    如果在log命令添加 –decorate选项执行,可以显示包含标签资料的历史记录。

    $ git log --decorate

    可以显示从tag开始的所有提交信息.

    $ git log tag-name

    可能显示tag的提交信息和提交的内容及patch.

    $ git show tag-name

    checkout 分支

    可以根据tag的标记来进行创建分支.

    $ git checkout -b branch-name tag-name

    删除标签

    若要删除标签,在tag命令指定 -d选项执行。

    $ git tag -d <tagname>
  • 相关阅读:
    CopyOnWriteArrayList
    volatile可见性和指令重排
    数据库的隔离级别 小强斋
    Hibernate>component映射和复合主键映射 小强斋
    数据库的隔离级别 小强斋
    hibernate>多对多关联映射 小强斋
    hibernate>Collection映射 小强斋
    hibernate>继承 小强斋
    hibernate>继承 小强斋
    hibernate>lazy 小强斋
  • 原文地址:https://www.cnblogs.com/mophy/p/7016104.html
Copyright © 2020-2023  润新知