每次提交,GIT 都会将他们串成一个时间线,截止到目前,只有一个时间线,GIT里叫这个分支为主分支,叫master,HEAD指向master,master指向提交,HEAD指向当前的分支.

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点

当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!

从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:

假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:

所以Git合并分支也很快!就改改指针,工作区内容也不变!

合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:

我们创建dev分支,然后切换到dev分支:

git checkout -b dev      加上-b参数表示创建并切换,相当于以下两条命令

git branch dev                    git checkout dev

修改工作区一个文件测试下,然后提交

git add test.txt

git commit -m "test"

再切回master:

git checkout master    会发现刚才修改的内容又回去了,没有发生变化,因为刚那个提交是在dev分支上,master分支此刻的提交并没有变:

合并分支到master

首先要切换到master,再执行git merge dev命令,然后就可以删除dev分支了,git branch -d dev

推送本地新建的分支到远程仓库
```

git push origin 本地分支名:远程分支名

```

从远程拉取新的分支到本地

```

git checkout -b 本地分支名 origin/远程分支名

```

删除分支推向远程

```

git push origin --delete 分支名

```

转载于:https://www.cnblogs.com/binxyz/p/7226496.html

git 分支的创建和切换相关推荐

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

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

  2. Git分支的创建,切换及分支指针移动的理解

    分支的掌握和理解到位对于我们工作中的并行开发十分重要,今天我们一起来研究它. 一,两人在一个分支上开发 程序员小王入职,拉取了仓库的代码,开发新需求. git clone https://github ...

  3. 【Git】Git 分支管理 ( 创建并切换分支 | 查看分支 git branch | 合并分支 git merge dev | 删除分支 git branch -d dev )

    文章目录 一.创建并切换分支 1.创建分支 git branch dev 2.切换分支 git checkout dev 3.创建并切换分支 git checkout -b dev 二.查看分支 gi ...

  4. git 查看、创建、切换、删除、重命名和推送分支

    1.查看本地所有分支:前面有 "*" 的是当前所处的分支 $ git branchtest-A * test-B 2.查看本地和远程服务器的所有分支: $ git branch - ...

  5. Git 分支管理-创建与合并

    上一篇博客讲了即时分支合并是git的杀手锏,Git是非常鼓励大家使用分支的,日常开发中打断你思维的连续性是会大大降低生产力的,并且切换上下文也更繁琐,更大的损失.使用中心版本控制我们必须从中心服务器下 ...

  6. Couldn‘t checkout branch_name: Revision not found in project_name git 分支无法checkout,切换分支报错

    原因:git 分支无法checkout,添加的新分支在本地仓库没有同步 解决办法:同步远程分支至本地仓库 git remote updategit fetch

  7. git 新建分支并切换到该分支_git分支的创建、删除、切换、合并

    1. 先看一下git的命令: 查看本地分支 git branch : 查看远程分支 git branch -r : 切换分支 git checkout -b agrochemical origin/a ...

  8. Git 分支相关操作

    前言 通过该文你将了解到: 什么是分支 Git 分支的创建.切换.修改.删除, 提交分支到远程仓库.删除远程仓库分支的操作. 什么是分支? Git 官网介绍如下: 几乎所有的版本控制系统都以某种形式支 ...

  9. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

最新文章

  1. 王者荣耀s15服务器维护,王者荣耀16日S15赛季更新内容
  2. 卢卡斯定理及其卢卡斯定理的拓展
  3. 英语----名词性从句的混合练习(上)
  4. 希尔排序+移位法(吊打交换法)
  5. 将time_t格式的字符串转换成具体的时间, 存放在SystemTime结构体中
  6. hdoj 1015 Safecracker
  7. 双系统(win10 1803+deepin 15.7)安装问题
  8. TheWorld不能访问Taobao的解决办法
  9. Mac OS 10.12 - 如何关闭Rootless机制?
  10. excel处置4000行数据卡_Python自动获取当日所有股票数据
  11. Android APP报价参考
  12. mysql数据库各项参数查询
  13. 获取linux时间 毫秒级,Linux获取毫秒级时间
  14. 8.3CSS代码缩写 颜色值
  15. 17.2: Apps that require users to share personal information, such as email address and date of birth
  16. 固定资产管理系统能帮助企业做哪些工作?
  17. 如何学习页面重构/对页面重构理解
  18. 微信小程序打开红包的css_微信小程序 css使用技巧总结
  19. windows cmd bat获取局域网本机ip
  20. esp8266实现coap协议。

热门文章

  1. mysql数据库索引调优
  2. python中import问题
  3. Mobx | 强大的状态管理工具 | 可以用Mobx来替代掉redux
  4. play @Before 的使用
  5. Linux设备驱动开发详解-Note(5)---Linux 内核及内核编程(1)
  6. GridView的常用操作(增删改查)
  7. 分别采用深度优先遍历和广度优先遍历判断是否存在由vi到vj的路径,图用邻接表存储
  8. Linux配置yum源(离线和在线)
  9. python特定词频统计_词频统计方案与具体实现-elasticsearch、spark、python
  10. android10适配机型华为,EMUI10适配机型进度公布 这10款机型将率先尝鲜