git 切换分支_git 入门教程之分支总览

分支就是一条独立的时间线,既有分支,必有主干,正如一棵树谈到树枝,必有树干一样的道理.我们先前对git 的全部操作默认都是在主干上进行的,这个主干也是一种特殊的分支,名为 master 分支.

无论是穿越历史还是撤销更改,我们都或多或少接触过时间线,git 管理的版本串在一起就组成了这个时间线,其中master 分支是当前分支,HEAD 指向master ,因此HEAD 相当于指向了最新的版本.

bdd3b6c13ada1563258cb742f62dbac4.gif

git-commit.gif

基于分支上的操作,每一次 commit 都会提交一个新版本,并且新的 commit 指向原来的 commit,这来最新的 commit 就可以往前找,直到找到最初的commit.这就是 git 的时间线.

当我们打算开辟新的时间线时,git 在当前 HEAD 指向的 master 分支的 commit处新建一个 dev 分支.如果主角没有主动进入时间线的话,那么仍然处于 master分支,进入的方法就是 HEAD指向新建的 dev 分支.

不考虑孙悟空的分身特效,主角不能同时处于不同的时空下,git 也是如何,HEAD只能指向某一个 commit ,既然刚刚已经指向了 dev 分支,所以原来的 master 分支就没有 HEAD 了,因为相当于master 分支静止了.

当主角在 dev 分支独自闯荡干出一番事业时,决定回到故乡 master 分支,并将出门在外所学的本领带回家乡,建设美好家园.master 分支因为合并了 dev 分支,所以一下子增添了很多内容,家乡焕然一新!

主角这次携带 dev 分支归来,HEAD 分支自然又回到了 master 分支上,年轻的心向往外面的世间,相信不久后还会有同样的故事发生...

7007b6b96f27ba9b8448dad5acb5642c.gif

git-branch.gif

下面详解分支相关命令

创建分支

创建 dev 分支,列出分支已验证是否创建成功

cfdf5897624a1f437b3d0ab00fbcc6ce.png

创建dev 分支

master 前面的 * 标记表明当前仍然处于 master 分支

ded0505cd313604616c6208f57b8e45e.png

git-on-master.png

切换分支

切换到新分支以便在分支上开展工作

2212cd3dd8d7a55e0b135bd0e5d5e6a5.png

切换到 dev分支

12e145748fd5d4b27767a2db052fa9ec.png

git-on-dev.png

现在,我们在 dev 分支上奋笔疾书,先后提交两个版本后完成分支开发工作:

2d8d8f5b83c7ee5d46ea7a3764abd5ed.png
655682315d5a7c16a6146c6e563f8322.png

git-on-dev-commit1.png

0fae5a69a5ebe9adf93f8eada4409354.png

git-on-dev-commit2.png

此时,再从 dev 分支切换回 master 分支,合并dev分支前看一下当前文件内容:

075b759a492da163dc503afc321f6b17.png

切换回 master 分支

3d8c1cf8b99cced0074ac258b5e2d403.png

git-checkout-master.png

合并分支

切换回 master 分支并没有我们在 dev 分支的更改,因为两条时间线是独立的,现在合并 dev 分支,再看一下当前文件内容:

4cb09bb2e64bcfa620818ad5487899d5.png

合并 dev 分支

8884df4e5327b4938eae45e3c5298e09.png

git-merge-dev.png

删除分支

合并分支后,dev 分支的历史使命已经完成,应该及时清空不必要分支.

7440f0ccc7f0bc0b0e5910ad4f8f06d8.png
d6ef36cd789afb88faef0f6d2a3c3514.png

git-branch-d-dev.png

以上场景包括了分支的常用操作,创建分支(git branch ),切换分支(git checkout ),删除分支(git branch -d )一系列操作十分流畅,因此 git鼓励我们大量使用分支!

小结

  • 列出分支 git branch
  • 创建分支 git branch
  • 切换分支 git checkout
  • 创建并切换分支 git checkout -b
  • 合并指定分支到当前分支 git merge
  • 删除分支 git branch -d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值