Git的分支创建以及切换
2018-03-24 22:33
232 查看
上篇留了个关键词:分支。
什么是分支呢?学过"树"的大佬们都知道,树有左孩子和右孩子(左分支,右分支),我们以图举例一个二叉树:
其中B、C是A的左孩子(左分支)、右孩子(右分支);
D、E是B的左孩子(左分支)、右孩子(右分支);F、G是C的左孩子(左分支)、右孩子(右分支)。
这是数据结构中的"树"结构,那我们Git的"分支"又是啥妖怪?长成啥妖魔样,让我们见识见识:
没错,这就是Git的分支,只不过这是"初始化"的分支。每当我们创建一个库的时候,Git都会自动帮我们创建这个master分支。
我们通过命令看一下:git branch
绿色的"master"便是Git自动帮我们创建的,而"*"号,表示的是:指向当前分支。
HEAD,也就是这个"*"号,也是指针。
我们创建一个新的分支,叫:dev,先看看这个"HEAD"是何方神圣:git checkout -b dev
git branch
我们看到,dev已经被新创建了,并且"*"*(HEAD)指向了dev这个分支,而未被指向的分支,则没有"*"号;
git checkout -b dev 的意思是:创建一个新分支并指向新分支。其实它等同于这个命令:git branch dev
git checkout devbranch 创建分支,checkout 切换分支。
既然创建了分支,那我们两个分支的美貌又是怎样的呢:
HEAD随着checkout 的操作,而改变。
分支这章节是重点,所以我们分开来讲。
下一章节将开车啦。。
什么是分支呢?学过"树"的大佬们都知道,树有左孩子和右孩子(左分支,右分支),我们以图举例一个二叉树:
其中B、C是A的左孩子(左分支)、右孩子(右分支);
D、E是B的左孩子(左分支)、右孩子(右分支);F、G是C的左孩子(左分支)、右孩子(右分支)。
这是数据结构中的"树"结构,那我们Git的"分支"又是啥妖怪?长成啥妖魔样,让我们见识见识:
没错,这就是Git的分支,只不过这是"初始化"的分支。每当我们创建一个库的时候,Git都会自动帮我们创建这个master分支。
我们通过命令看一下:git branch
绿色的"master"便是Git自动帮我们创建的,而"*"号,表示的是:指向当前分支。
HEAD,也就是这个"*"号,也是指针。
我们创建一个新的分支,叫:dev,先看看这个"HEAD"是何方神圣:git checkout -b dev
git branch
我们看到,dev已经被新创建了,并且"*"*(HEAD)指向了dev这个分支,而未被指向的分支,则没有"*"号;
git checkout -b dev 的意思是:创建一个新分支并指向新分支。其实它等同于这个命令:git branch dev
git checkout devbranch 创建分支,checkout 切换分支。
既然创建了分支,那我们两个分支的美貌又是怎样的呢:
HEAD随着checkout 的操作,而改变。
分支这章节是重点,所以我们分开来讲。
下一章节将开车啦。。
相关文章推荐
- git基本使用(2)创建切换合并分支以及提交本地分支至远程分支
- git基本使用 创建切换合并分支以及提交本地分支至远程分支
- git 分支的 创建 修改 切换 查看 从远程仓库抓取数据 以及 提交时忽略某文件
- Git知识总览(三) 分支的创建、删除、切换、合并以及冲突解决
- git创建分支以及远程下载提交项目
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- git创建本地分支以及推送本地分之至远程分支
- git 创建以及删除分支
- Git 创建分支+分支推送+本地切换远程分支+免密码git操作
- Git分支 - 创建,切换
- git 创建分支并切换
- git切换远程库 创建分支并提交到远程
- git创建新分支,查看分支,删除分支,切换分支等问题
- git创建分支,以及提交到远程创库
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- git如何关联远程仓库以及如何切换关联的远程分支
- 为已经存在的本地项目添加git,以及从远程仓库拉取代码并切换远程分支
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- git 创建分支,切换分支
- Git本地从某个分支上创建新分支以及拉取远程分支到本地分支