分支的操作 - git checkout -b

1. git checkout -b - 创建、切换分支

如果想以当前的 master 分支为基础创建新的分支,我们需要用到 git checkout -b 命令。切换到 feature-A 分支并进行提交,执行下面的命令,创建名为 feature-A 的分支。

git checkout -b feature-A
strong@foreverstrong:~/github_work/git-tutorial$ git checkout -b feature-A
Switched to a new branch 'feature-A'
strong@foreverstrong:~/github_work/git-tutorial$ 

实际上,连续执行下面两条命令也能收到同样效果。

git branch feature-A
git checkout feature-A

创建 feature-A 分支,并将当前分支切换为 feature-A 分支。这时再来查看分支列表,会显示我们处于 feature-A 分支下。

git branch
strong@foreverstrong:~/github_work/git-tutorial$ git branch
* feature-Amaster
strong@foreverstrong:~/github_work/git-tutorial$ 

feature-A 分支左侧标有 “*”,表示当前分支为 feature-A。在这个状态下像正常开发那样修改代码、执行 git add 命令并进行提交的话,代码就会提交至 feature-A 分支。像这样不断对一个分支 (例如 feature-A) 进行提交的操作,我们称为“培育分支”。

下面来实际操作一下。在 README.md 文件中添加一行。

# Git Tutorial

这里我们添加了 feature-A 这样一行字母,然后进行提交。

git add README.md
git commit -m "Add feature-A"
strong@foreverstrong:~/github_work/git-tutorial$ git add README.md
strong@foreverstrong:~/github_work/git-tutorial$
strong@foreverstrong:~/github_work/git-tutorial$ git commit -m "Add feature-A"
[feature-A 6df1569] Add feature-A1 file changed, 1 insertion(+), 1 deletion(-)
strong@foreverstrong:~/github_work/git-tutorial$ 

于是,这一行就添加到 feature-A 分支中了。

2. 切换到 master 分支

现在我们再来看一看 master 分支有没有受到影响。首先切换至 master 分支。

git checkout master
strong@foreverstrong:~/github_work/git-tutorial$ git checkout master
Switched to branch 'master'
strong@foreverstrong:~/github_work/git-tutorial$
strong@foreverstrong:~/github_work/git-tutorial$ git branchfeature-A
* master
strong@foreverstrong:~/github_work/git-tutorial$
strong@foreverstrong:~/github_work/git-tutorial$ cat README.md
# Git Tutorial
strong@foreverstrong:~/github_work/git-tutorial$ 

然后查看 README.md 文件,会发现 README.md 文件仍然保持原先的状态,并没有被添加文字。feature-A 分支的更改不会影响到 master 分支,这正是在开发中创建分支的优点。只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发。

3. 切换回上一个分支

我们再切换回 feature-A 分支。

git checkout -
strong@foreverstrong:~/github_work/git-tutorial$ git branchfeature-A
* master
strong@foreverstrong:~/github_work/git-tutorial$ git checkout -
Switched to branch 'feature-A'
strong@foreverstrong:~/github_work/git-tutorial$ git branch
* feature-Amaster
strong@foreverstrong:~/github_work/git-tutorial$
strong@foreverstrong:~/github_work/git-tutorial$ git checkout master
Switched to branch 'master'
strong@foreverstrong:~/github_work/git-tutorial$ git branchfeature-A
* master
strong@foreverstrong:~/github_work/git-tutorial$ git checkout feature-A
Switched to branch 'feature-A'
strong@foreverstrong:~/github_work/git-tutorial$ git branch
* feature-Amaster
strong@foreverstrong:~/github_work/git-tutorial$ 

像上面这样用 “-” (连字符) 代替分支名,就可以切换至上一个分支。当然,将 “-” 替换成 feature-A 同样可以切换到 feature-A 分支。

References

https://yongqiang.blog.csdn.net/
(日) 大塚弘记 著, 支鹏浩, 刘斌 译. GitHub入门与实践[M]. 北京:人民邮电出版社, 2015. 1-255

分支的操作 - git checkout -b相关推荐

  1. Git的撤销操作 git checkout -- <file>

    在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit   --amend        撤销上一次提交  并讲暂存区文件重新提交 g ...

  2. 【Git】Git如何在不提交当前分支的情况下切换到其它分支进行操作-git stash

    1.美图 2.概述 假如现在的Bug你还没有解决,而上边又给你派了一个新的Bug,而这个Bug相比较现在正在苦思冥想的Bug比较容易解决. 你想先解决新的Bug,可是之前的Bug还没有解决完而不能提交 ...

  3. git分支/标签操作

    git分支类似于某一个模块,等到所有模块开发完毕时,最后聚合在一起形成一个项目.而分支之间一般是不会受影响的. git 分支的基本操作: git branch branchname 表示创建分支,新建 ...

  4. git id 切分支 按_Git分支本地操作详解

    原文链接:http://www.jianshu.com/p/c05231e6a65a 引言 在上一节中我们对Git的常用本地操作的命令进行详解,而本节要讲解的是Git的分支, 在讲解之前补充两点概念性 ...

  5. 【Git操作】分支branch操作

    1.简介 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版 ...

  6. Git分支命令git branch、git switch、git checkout的区别

    文章目录 分支的创建.删除.切换.查看.重命名.创建+切换 创建本地跟踪分支并从远程分支拉取代码.建立当前分支与指定远程分支的追踪关系 git branch.git switch.git checko ...

  7. git 创建远程分支,并提交代码到该分支的操作

    1. 首先,在本地创建这个分支 使用命令 git checkout -b 分支名 (表示创建这个分支,并且切换到该分支) 2. 创建远程分支 使用命令 git push --set-upstream ...

  8. git checkout 命令所有参数用法详解

    阅读这篇文章你将得到什么? git 命令的帮助文档获取 git checkout 命令系统知识详解,所有参数哟 怎么系统学习一个git 命令 根据git 的帮助一步步的撸下去,这样够全吧 获取参考手册 ...

  9. git checkout 命令详解—— Git 学习笔记 16

    git checkout 命令详解 概览 git checkout 这条命令的常用格式如下: 用法一 git checkout [<commit>] [--] <paths> ...

  10. 使用git checkout命令切换到指定的commit

    git checkout命令有很多种用法. git checkout + 分支名,切换到指定的分支. 比如git checkout develop: 切换之后,HEAD文件的内容: ref: refs ...

最新文章

  1. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充
  2. 什么是正确的JSON内容类型?
  3. 英伟达“神笔马良”GauGAN发布Windows应用程序,可导出PSD文件
  4. ue4 截图_UE4中创建赛博朋克中国城市
  5. 【转】C# typeof()实例详解
  6. 修改tomcat的临时文件夹_tomcat 临时文件夹被移除的问题
  7. python计算相关矩阵_Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2...
  8. OpenCV自然场景文本检测(附Python代码)
  9. Python手动安装 package
  10. 算法学习 - 拼接成最大的数字
  11. 学完大数据基础,可以按照我写的顺序学下去
  12. 【TypeScript】TS与Vue
  13. 【u-boot】uboot代码简要分析 (u-boot 移植)
  14. MOS管和三级管基础知识总结
  15. wxPython in Action (wx.ListBox)
  16. 洛谷-P1228-地毯填补问题-普及/提高--分治+递归
  17. 智慧警保综合管理平台
  18. UNIX网络套接字相关总结
  19. 用python编程小程序制作_Python编写四人24小时值班表生成小程序【简单粗暴】
  20. java计算机毕业设计网上汽车售票系统源码+数据库+lw文档+系统+部署

热门文章

  1. 123321是一个非常特殊的数,它从左边读和从右边读是一样的。   输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n
  2. C-free5 安装教程
  3. 彻底卸载Cfree5.0
  4. cad图纸问号怎么转换文字_CAD图中有的文字变成问号怎么改?
  5. 浅谈Android自定义View
  6. 基金与私募基金概念解析:共同基金、单位信托、投资信托计划、券商集合理财、基金专户理财
  7. 阿里云oss 回调失败 203 Non-Authoritative Information
  8. 一文读懂最新 Google 开发者大会上的 ARCore!
  9. 输入两个正整数,求其最大公约数和最小公倍数
  10. 数据结构之什么是数组?