zoukankan      html  css  js  c++  java
  • Git学习之路(6)- 分支操作

    ▓▓▓▓▓▓ 大致介绍

      几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的。就比如我在没有学习Git之前,想实现我的一个小想法,但是又害怕影响已完成的工作,只有ctrl+c、ctrl+v,但是在Git中,甚是方便了许多。

      这篇博客主要讲以下几部分:

        ◆ 创建分支

        ◆ 合并分支

        ◆ 删除分支  

    ▓▓▓▓▓▓ 创建分支

      在之前的学习中,都只有一个分支即 master分支 这是Git中主分支的默认名。在Git学习之路(4)- 撤销操作、删除文件和恢复文件 中提到了HEAD,表示当前的版本,在以前的学习中masterHEAD是这种关系:

      Git使master指向最新的提交,然后使HEAD指向master,就像C语言中的指针一样。

      创建一个分支:

        git branch 分支名 

      

      查看分支:

        git branch 

      切换到某个分支:

        git checkout 分支名

      创建并切换到某个分支:

        git checkout -b 分支名

      例如:

      首先用 git branch 查看了一下分支,发现就只有 master 一个分支,然后创建了 branch1 分支。查看分支,可以发现前面有*符号的分支,为当前分支。切换到branch1

      此时,用图来表示:

    ▓▓▓▓▓▓ 合并分支

      在分支上改好文件后,我们最后要把它合并到主分支上。

      

        git merge 分支名

      查看以和当前分支合并过的分支:

        git branch --merge

      查看未于当前分支合并过的分支:

        git branch --no-merge

      例如:

      首先查看了分支,可以看到一共有三个分支:branch1branch2master。然后查看和当前分支master合并过的分支,显示无。查看没有和master合并过的分支,有两个即:branch1branch2。将branch1master合并,继续查看和master合并过的分支和未合并过的分支

      此时,用图来表示:

      但是有时候,分支合并时并不是一帆风顺,例如两个分支如果对同一文件的用意部分进行修改,那么在合并时就会出现问题:

      如图:

      这时,合并分支时产生了冲突,Git会让你自己选择要保留哪个,在你的代码中会出现类似这样的提示信息:

      选择你就要保留的代码,删除不要的,在提交就可以了

    ▓▓▓▓▓▓ 删除分支

      当我们要删除一个分支时,要分为两种情况:

      删除与当前分支合并过的分支:

        git branch -d 分支名

      删除与当前分支没有合并过的分支:

        git branch -D 分支名

      例如:

      首先查看了与当前分支合并和没有合并过的分支,发现用-d删除未合并过的分支时,出现了错误,改用-D则成功删除

    参考资料: 

          廖雪峰的官方网站-Git教程

          CODE帮助文档-Progit中文版

     

      

  • 相关阅读:
    ORA01033:ORCLE initialization or shutdown in progress问题的解决
    OA、SOA和SOAP
    [导入]循环赛如何排列问题
    [导入]Free Compilers / Interpreters
    终于知道纹理的GL_MODULATE是怎么回事了
    怎么acm.tongji.edu.cn又关机了?
    [导入]一个2002罗马尼亚赛区的ACM的题目
    netcraft at tongji.edu.cn
    [导入]对编写安全的代码这个方法有用吗?
    [导入]最简单的方法输出下列图形
  • 原文地址:https://www.cnblogs.com/qqandfqr/p/6429875.html
Copyright © 2011-2022 走看看