GIT分支

来源:互联网 发布:thinkphp 5 cms 编辑:程序博客网 时间:2024/06/06 00:42



       什么是GIT分支

         

         比如你开发项目的时候,需要不同的版本,不想一直在一个项目里边做修改,可以使用分支。在分支上边

     开发可以不相互影响,需要的时候也可以切换到不同的分支。

     分支就像我们在某个版本备份了一个,可以很方便的回到备份那个点。

     不同的小组不同的人也可以在不同的分支上进行开发。


        

     GIT分支的理解

    

     比如我们对一个项目签入了几次

      如图,这个时候我们在一条线上开发

     


     可以使用 git branch查看当前分支

     

     默认是mater,当然右上角也可以看到当前所在的分支

     

    

     这个时候master主分支就指向当前的提交,用一个图表示如下

      


     创建一个分支

      命令很简单: git branch learn3(分支名称)

      

     这个时候一个新的分支又指向了当前位置(其实可以理解把一个项目备了一份,后面可以回到这个备份的点)

     如图:

     

     

     这个时候可以看到当前分支还是在master

      



    GIT怎么知道当前在哪个分支上工作?

   

   我们使用git log查看日志  

    可以看到第一条有个head指向了master  

    

   其实git是通过一个名叫head的特殊指针指向了master,通过当前head指向的位置就可以知道当前的分支了

   图例如下:

   

   

    

     切换分支 

     git branch只是创建了一个新的分支,并没有切换到新的分支上面来

     

     切换分支很简单命令:git checkout learn3(分支的名字)

     执行成功后可以看到当成分支已经切换到learn3了

     


     此时head指针指向的就是learn3了

     可以在通过git log查看一下head指针的指向,可以看到已经指向learn3了

     


     图示:

     

    

     

   在当前分支签入一下 

    

    

    可以看到没有签入成功,是因为虽然分支在本地创建成功了,但是没有能和服务器的远程仓库建立好

    关联,通过执行提示的命令即可

       



    随着新的签入,分支learn3指向了最新的提交,而master分支还指向以前的位置

    图示:

    


     git hub上也能看到我们的分支

        


 

   下载项目的时候clone一个指定的分支 

    也很简单命令:gitclone -b 分支名称 clone地址

    

    



     可以看到git的分支,仅仅是通过一个分支名称和一个指针就完成了,不是传统的需要把整个项目全部备份一次,那样会随着项目越大备份的时间越慢,而且会很占硬盘空间,Git是不依赖与项目的大小的,不管项目有多大,都可以秒创分支。