git学习之三:分支管理

上一节介绍了git管理的文件状态,本节将介绍git版本控制的核心利器-分支(branch)。

第一节的内容讲了三种git管理的对象,可以知道只要知道一个commit对象的信息,我们就可以知道这个版本的内容。我们进行版本控制,也就是要管理这些commit对象。git使用分支这个概念来对commit进行管理,分支其实就是指向了某一个commit,一个分支来索引一个commit。

还是从.git文件夹出发,初始化一个本地仓库,看看.git下的目录:

objects保存了我们所有的对象,refs的文件夹全称references,这个文件夹里有会储存三类文件:本地分支、远程分支、tag。

现在看看refs文件夹的内容:

1.本地分支

heads文件夹里面的内容是本地分支文件tags文件夹里的文件也是标识一个commit,不过对这个commit进行了一些包装,取了一个更好的名字而已。这里如果关联了远程仓库,refs还存在一个remotes文件夹,用来储存远程分支

本地仓库初始化之后,heads文件夹为空,也就是目前没有分支,但是我们提交一个commit之后,git将建立一个默认的名为master的分支。现在随意往仓库加一个文件,使用git add将文件加入暂存区(对于暂存区,下一节将详细讲解),然后使用 git commit将文件提交(git commit -m "first commit"  -m参数可以对本次commit加上一个注释)。

现在看看refs/heads目录:里面多了一个名为master的文件。

这个master文件,就是我们的分支文件,他可以直接用文本打开,我们可以看看里面的内容:

使用git log 看看我们的commit日志:

这个分支文件,指向了当前的commit,可以看到创建一个分支的成本很低,一个文本文件,里面标识一个commit的key就完成了,git使用分支来管理版本的成本的花费是很低的,新建一个分支的消耗几乎不存在。

使用git branch 可以查看本地所有分支,git branch [分支名] 可以创建一个分支,每创建一个分支heads文件夹就会多一个文件

可以看到一开始只有一个master分支,然后建立一个名为develop的分支,分支前面的 * 号,表示目前所在的分支。目前版本的内容还是master分支,git branch只是新建了一个分支,并没有切换到新的分支,新建的分支文件里的内容,就是当前所在分支指向的commit。

git何如知道目前版本工作的分支是哪一个呢?我们需要看看.git目录下的HEAD文件,这个文件记录了当前版本所在的分支,这个文件也可以直接用文本打开:

git 通过这个文件来标识当前工作的分支。

git checkout [分支名] 可以在分支之间切换,通过分支的切换,

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值