Git 的分支,其实本质上仅仅是指向提交对象的可变指针。 Git 的默认分支名字是 master。 在多次提交操作之后,你其实已经有一个指向最后那个提交对象的 master 分支。 master 分支会在每次提交时自动向前移动。在 Git 中,HEAD是一个指针,指向当前所在的本地分支(译注:将 HEAD 想象为当前分支的别名)。 在本例中,你仍然在 master 分支上。 因为 git branch 命令仅仅 创建 一个新分支,并不会自动切换到新分支中去。

一丶创建分支test

  • git branch test 创建分支,但是head还是指向master。仅仅 创建 一个新分支,并不会自动切换到新分支中去。

  • git log --oneline --decorate 查看各个分支当前所指的对象

  • git checkout test 分支切换

  • 辞职在test分支做修改,然后commit,结果如下

  • git checkout master 此时可切换会master,结果如图

  • 此时如果做出修改,然后commit,便会发生分叉,如图:

  • 查看分叉历史,包含信息提交历史,分支指向,以及项目的分支叉情况

    git log --oneline --decorate --graph --all
    

总结:

在 Git 中,任何规模的项目都能在瞬间创建新分支。 同时,由于每次提交都会记录父对象,所以寻找恰当的合并基础(译注:即共同祖先)也是同样的简单和高效。 这些高效的特性使得 Git 鼓励开发人员频繁地创建和使用分支。

Git分支图解理解其概念HEAD,git branch name,git checkout name,git log --oneline --decorate相关推荐

  1. Git 分支的创建与切换 —— Git 学习笔记 14

    Git 分支的创建与切换 文章目录 Git 分支的创建与切换 Git 分支的本质 分支创建 分支切换 参考资料 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上 ...

  2. Git 分支 - 分支简介

    几乎所有的版本控制系统都以某种形式支持分支.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线.在很多版本控制系统中,这是一个略微低效的过程--常常需要完全创建一个源代码目录的副本. ...

  3. Git(12)-- Git 分支 - 分支简介

    文章目录 1.分支简介 1.1.初始化并首次提交 首次提交对象及其树结构: `git` 的 `cat-file` 的命令用法: 1.2.修改并第二次提交 第二次提交对象及其树结构: 1.3.修改并第三 ...

  4. git分支,HEAD和master

    为了真正理解 Git 处理分支的方式,我们需要回顾一下 Git 是如何保存数据的. 或许你还记得 起步 的内容,Git 保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照. 在进行提交操作时, ...

  5. git上传分支的原理_几张图让你彻底弄懂git工作流(二) ——git分支

    上篇文章已经说了Git简史以及Git基础,那么这篇文章简单总结下Git分支 Git分支 为了理解 Git 分支的实现方式,我们需要回顾一下, Git保存的不是文件差异或者变化量,而只是一系列文件快照. ...

  6. Git分支及其协同开发

    Git协同开发 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLu ...

  7. 精通Git(三)——Git分支机制

    文章目录 前言 分支机制简述 创建分支 切换分支 基本的分支与合并操作 基本的分支操作 基本的合并操作 基本的合并冲突处理 分支管理 与分支有关的工作流 长期分支 主题分支 远程分支 推送 跟踪分支 ...

  8. git分支/标签操作

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

  9. git 分支复制_Git基础知识(五)

    Git基础知识(五) 分支 都说Git的分支是它的必杀技特性,由于没有接触过太多的版本管理工具,就使用过的SVN来说,两者真的差别巨大.SVN创建一个分支,需要将内容复制一遍!这个时间真的是非常的漫长 ...

  10. 如何修复提交错误的Git分支?

    我刚刚对错误的分支做了很好的提交. 如何撤消我的主分支中的最后一次提交,然后进行相同的更改并将它们放入我的升级分支? #1楼 这个话题迟了4年,但这可能对某人有所帮助. 如果您在提交之前忘记创建新分支 ...

最新文章

  1. FPGA之道(12)FPGA芯片的配置方式
  2. 2021-11-06深度学习
  3. c语言搬山游戏,C语言实现搬山游戏代码解析
  4. C/C++之strcpy功能实现
  5. mysql存储过程中的异常处理
  6. 为Druid监控配置访问权限(配置访问监控信息的用户与密码)
  7. linux设备驱动之 i2c设备驱动 at24c08驱动程序分析【全部地址的操作】
  8. android镜子app,Android镜子应用 一面可编程的镜子
  9. LU分解法求解方程组(C语言)
  10. 机器学习7个主要领域
  11. Freeswitch的Proxy(代理转发)模式和Bypass(旁路)模式的正确配置
  12. tushare复权数据使用
  13. 把音频中的某个人声去掉_怎样去掉音频中的背景音乐 只保留人声?
  14. xp如何添加桌面计算机回收站,WinXP如何找到回收站图标?
  15. c语言printf函数中的格式控制字符串,C++_C语言格式化输入输出函数详解,一:格式输出函数printf() 1 - phpStudy...
  16. C Primer Plus第七章:控制
  17. php artisan --,php artisan
  18. 织梦DEDECMS零基础学会如何做网站
  19. 一般什么企业需要开展等保三级测评工作
  20. Mutt+Msmtp如何实现邮箱报警(阿里云)

热门文章

  1. Xcel 测试版使用手册
  2. 使用 External Secrets Operator 安全管理 Kubernetes Secrets
  3. 攻防世界-Crypto-告诉你个秘密(键盘密码)-ISCC2017
  4. Android 关于 ActionBarSherlock 的使用
  5. 2022-2028全球与中国工业蜂窝网关市场现状及未来发展趋势
  6. Nginx与网关的区别
  7. 【Unity3d】存档与读档
  8. 华为 荣耀 6x android哪个版本,华为荣耀畅玩6X官方rom刷机包_华为荣耀6X原版系统包_升级包...
  9. Python中的turtle.right()方法的用法示例
  10. 【JSTL】choose标签