GIT分支
什么是GIT分支
比如你在开发项目的时候,需要不同的版本,不想一直在一个项目里边去修改,就可以使用git分支。在分支上边
开发可以不相互影响,需要的时候也可以切换到不同的分支去。
分支就像我们在某个版本备份了一个,可以很方便的回到备份那个点。
不同的小组不同的人也可以在不同的分支上进行开发。
git分支的一般运用方式
比如你的项目买给了很多客户,其中有一个客户临时需要增加一点功能,这个时候如果你在主分支上去修改,可能会造成一种情况就是,当你的新功能还没有开发完成的时候其他客户又需要修改一点东西,这个时候去发布项目就可能会受到你新功能没有开发完成的影响,所以这种情况下最好去新开一个分支去修改,这样就算其他客户需要修改功能的时候可以马上切换到主分支去修改,两个之间可以相互不影响。
GIT分支的理解
比如我们对一个项目签入了几次
如图,这个时候我们在一条线上开发
可以使用 git branch查看当前分支
默认是mater,当然右上角也可以看到当前所在的分支
这个时候master主分支就指向当前的提交,用一个图表示如下
创建一个分支
命令很简单: git branch learn3(分支名称)
这个时候一个新的分支又指向了当前位置(其实可以理解把一个项目备了一份,后面可以回到这个备份的点)如图:
这个时候可以看到当前分支还是在master
GIT怎么知道当前在哪个分支上工作?
可以使用 git branch查看当前分支
git查看所有分支命令
要查看Git仓库中的所有分支,可以使用以下命令,这将列出本地和远程的所有分支。
git branch -a
如果你只想看本地分支,可以省略 -a 参数:
git branch
如果你想查看每个分支的最后一个提交信息,可以使用以下命令,这将显示本地和远程分支的详细信息,包括最后一次提交的信息。
git branch -vv
我们使用git log -5查看日志
可以看到第一条有个head指向了master (注意git log 在实际项目中应该非常多的,所以最好加一个查看的条数git log -5,就表示显示最新的5条)
其实git是通过一个名叫head的特殊指针指向了master,通过当前head指向的位置就可以知道当前的分支了
如图:
如何切换分支?
git branch只是创建了一个新的分支,并没有切换到新的分支上面来
切换分支很简单命令:git checkout learn3(分支的名字)
执行成功后可以看到当成分支已经切换到learn3了
此时head指针指向的就是learn3了
可以在通过git log查看一下head指针的指向,可以看到已经指向learn3了
图示:
在当前分支签入一下
可以看到没有签入成功,是因为虽然分支在本地创建成功了,但是没有能和服务器的远程仓库建立好
关联,通过执行提示的命令即可
随着新的签入,分支learn3指向了最新的提交,而master分支还指向以前的位置
图示:
git hub上也能看到我们的分支
下载项目的时候clone一个指定的分支
命令也很简单:git clone -b 分支名称 需要clone地址
比如: git clone -b newindex --single-branch https://gitee.com/weiyu_wy/landclound.git
--single-branch 标识:只克隆单一分支:
可以看到我们使用git分支,仅仅是通过一个分支名和一个指针就完成了,不像传统的需要把整个项目全部备份一次,那样会随着项目越大备份的时间越慢,而且会很占硬盘空间,Git是不依赖于项目大小的,不管项目有多大,都可以秒建分支。