美文网首页
GIT 使用教程 介绍

GIT 使用教程 介绍

作者: 路Promenade | 来源:发表于2016-10-19 22:04 被阅读671次

    GIT

    @(版本管理)
    Git 分布式版本控制系统,客户端并不只是提取最新的版本文件快照,而是把代码仓库完整地镜像下来。GIT 三个工作区域:Git 仓库、工作目录以及暂存区域。Git 图形化界面软件推荐使用 SourceTree。

    [toc]

    Git 常用命令

    操作 命令
    提交代码 $git commit -a -m 'message'
    删除分支 $git

    创建分支命令

    // 默认在当前的分支上分出来的分支
    $ git checkout -b branch_name
    // 指定从 master 衍生出的分支
    $ git checkout -b branch_name master
    

    分支的合并
    比如将分支 a 合并到 master。
    回到 master 分支,运行 git merge 命令指定要合并进行的分支:

    $ git checkout master
    $ git merge a
    

    删除分支

    $ git branch -d branchName
    

    撤销文件修改,把文件还原成刚克隆的样子

    // 还原文件
    $ git checkout --<文件>
    // 还原整个项目
    $ git checkout
    

    Git 分支管理策略

    参考文章:http://www.ruanyifeng.com/blog/2012/07/git.html

    一、主分支 Master

    首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。


    1476771467604.png

    Git 主分支的名字,默认叫做 Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。
    开发分支

    二、开发分支 Develop

    主分支只用来发布重大版本,日常开发应该在另一条分支上完成。把开发哟农户的分支叫做 Develop。


    1476771640524.png

    这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在 Master 分支上,对Develop分支进行"合并"(merge)。
    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 分支。


    1476772177549.png

    使用 --no-ff 参数后,会执行正常合并,在 Master 分支上生成一个新节点。为了保证版本演进的清晰,希望采取这样做法


    1476772252203.png
    三、临时性分支

    上面讲到版本库的两条主要分支:Master和Develop。前者用于正式开发,后者用于日常开发。其实,常设分支只需要这两条就够了,不需要其他了。
    但是除了常设分支以外,还有一些临时性分支,用于应对一些特定目的的版本开发。

    临时性分支主要有三种:

    1. 功能(feature)分支
    2. 预发布(release)分支
    3. 修补 bug(fixbug)分支

    这三种分支都属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有Master和Develop。

    四、功能分支

    功能分支,它是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop。

    1476773001592.png

    功能分支的名字,可以采用 feature-*的形式命名。
    创建一个功能分支:

    $ git checkout -b feature-x develop
    

    开发完成后,将功能分支合并到 develop 分支:

    $ git checkout develop
    $ git merge --no-ff feature-x
    

    删除 feature 分支:

    git branch -d feature -x
    
    五、预发布分支

    第二种是预发布分支,它是指发布正式版本之前(即合并到 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
    
    六、修补 bug 分支

    最后一种是修补 bug 分支。软件正式发布以后,难免会出现 bug 。这时就需要创建一个分支,进行 bug 修补。
    修补 bug 分支是从 Master 分支上面分出来的。修补结束以后,再合并进 Master 和 Develop 分支。它的命名,可以采用 fixbug-* 的形式。
    [站外图片上传中……(1)]

    创建一个修补 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
    

    相关文章

      网友评论

          本文标题:GIT 使用教程 介绍

          本文链接:https://www.haomeiwen.com/subject/esaxuttx.html