0%

【Git】学习笔记 --> Git 分支管理 (Git_Flow)

😊 转载请全文转载,并标明文章出处

  • 主分支Master:

    代码库应该有一个,且仅有一个主分支。(提供给用户的正式版本,都在主分支上发布(有版本标签))
  • 开发分支Develop:

    主分支只用来发布重大版本,日常开发应该在另一条分支(即开发分支(Develop))
    Git创建Develop分支命令:
        git checkout -b develop master
    Develop分支合并到Master分支命令:
    # 切换到Master分支:
        git checkout master
    # 对Develop分支进行合并
        git merge --no-ff develop
    (--no-ff参数:默认情况下,Git执行"快进式合并" Fast-Farward merge 直接将Master分支指向Develop分支)
  • 临时性分支:

    Master 和 Develop,前者用于正式发布,后者用于日常开发。除了常设分支以外,还有一些临时分支,用于应用一些特定目的的版本开发。临时性分支有三种:
        功能(feature)分支
        预发布(release)分支
        修补bug(fixbug)分支
    (这三种分支属于临时性需要,使用完成之后,应该删除,使得代码库的常设分支始终只有Master和Develop分支)
    
    1. 功能分支:
        功能分支,是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要合并到Develop分支上。(功能分支的名字,可以采用feature-*的形式命名)
        Git 创建一个功能分支:
            git checkout -b feature-x develop
        开发完成后,将功能分支合并到develop分支:
            git checkout develop
            git merge --no-ff feature-x
        删除featur-x分支:
            git branch -d feature-x
    
    2. 预发布分支:
        指发布正式版本之前(即合并Master分支之前),可能需要有一个预发布的版本进行测试。
        预发布分支是从Develop分支上边分出来的,预发布结束后,必须合并进Develop和Master分支上。
        命名采用release-*的形式:
        创建一个预发布分支:
        git checkout -b release-1.2 develop
    确认没有问题后,合并Master分支:
        git checkout master
        git merge --no-ff release-1.2
        # 对合并生成的新节点,做一个标签
        git tag -a 1.2
    然后合并到develop分支:
        git checkout develop
        git merge --no-ff release-1.2
    最后删除预发布分支:
        git branch -d release-1.2
    
    3. 修补bug分支:
            软件正式发布以后,难免回出现bug。这是就需要创建一个分支,进行bug修补.
            修补bug分支是从Master分支上面分出来的。修补结束后,再合并进Master和Develop分支。
        命名采用fixbug-*的形式:
            创建一个修补bug分支:
                git checkout -b fixbug-0.1 master
            修补结束后,合并到master分支:
                git checkout master
                git merge --no-ff fixbug-0.1
                git tag -a 0.1.1
            再合并到develop分支:
                git checkout develop
                git merge --no-ff fixbug-0.1
        最后,删除"修补bug分支":
            git branch -d fixbug-0.1