Git brach command

如何创建一个分支

  • 第一种方式:

    # 创建分支
    $ git branch 'branch-name'
    # 切换分支
    $ git checkout 'branch-name'
  • 第二种方式 (I prefer to), 这种方式在创建分支后即切换到分支:

    $ git checkout -b 'branch-name'

学会了创建分支, 接下来我们学习删除分支

  • 以下命令即可简单删除指定分支:
    $ git branch -d 'branch-name'

接下来我们学习如何合并分支

  • 首先来看默认 fast-forward 方式:

    # 这种方式执行后会提示我们使用点上 ff 方式合并, 默认情况下执行结果如下
    $ git merge 'branch-name'
  • 接下来我们看一下除了 ff 方式合并, 正常开时遇到的合并方式

    # 首先创建分支 \`dev\`, 完成之后修改 README.org 文件并提交
    $ git checkout -b dev
    $ vim README.org
    $ git commit -am "dev commit content"
    
    # 然后切换到 master 分支, 修改 README.org 文件并提交
    $ git checkout master
    $ vim README.org
    $ git commit -am "master commit content"
    
    # 最后合并分支查看提示
    $ git merge dev
  • 此时 git 提示我们 Readme 文件产生冲突, 请解决冲突后在进行合并. 然后我们打开 README.org 文件看到如下内容:
    该文件目前以 ===== 分割, HEAD -> 表示当前分支提交到内容, dev -> 表示另一个分支提交到内容. 此时我们需要将冲突解决后, 在进行合并集合完成目的.

  • 如上图所示,解决为该内容后就可以进行合并啦!

    $ git merge dev

查看分支情况

  • 通过带参数的 git log 进行查看, 如下图
    $ git log --graph --pretty=oneline --abbrev-commit

合并分支(普通合并)

  • git default useing fast-forward mode merge. we can pass prohibit(禁止) ff. use ordinary(普通) merge. ordinary merge will generate a new commit obejct.
    $ git merge --no-ff -m "merge with no-ff" dev

分支管理策略

  • 一般来说工作中使用 3 个分支进行开发就足够了.
    master 主分支用来发布
    dev 日常开发使用分支
    bug 修改 bug 时使用分支

  • master 分支应该是非常稳定的, 也就是仅仅用来进行新版本发布, 一般不再上面做开发,dev 分支应该是平常用了进行新功能开发的分支,dev 分支是不稳定的. 当我们新功能开发完成并测试通过后, 即可将 dev 合并到 master 中进行发布. 而 bug 分支我们只用来解决日常 bug, 解决后合并到 dev 分支即可.

Git Branch Relevent Common Command

Command Meaning
git branch -v 查看每一个分支最后一次提交
git branch -a 查看本地和远程分支情况
git branch -merged 查看已经与当前分支合并过的分支
git branch -no-merge 查看已经与当前分支未合并的分支
git branch -r 查看远程分支情况
git branch dev 创建分支 dev
git checkout dev 切换到分支 dev
git checkout -b dev 创建同时切换到 dev 分支
git merge dev 合并 dev 分支
git branch -d dev 删除 dev 分支
git merge -no -ff -m”message” 合并分支并禁用 fast-forward


Git     

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!