开发一个版本,采用的发布流程:

(1).从master的最新代码拉取一个开发分支,在上面进行开发

(2).在开发分支上不断地进行提交版本,期间,master也会有因为其他版本上线而不停有版本合并

(3).要发布的时候,把分支重新合到master分支

1.什么是分支

分支是一个commit对象链:一条工作记录线

git每一次提交版本,都会在该版本上存一个字段parent,记录的是上一个提交的版本号,这样就可以从一个提交的快照里拿到之前所有提交过的记录

2.新建分支是如何操作的

先了解2个重要的概念——HEAD和master:HEAD指向的就是当前分支(某个时刻你所处的分支),master指向提交

(1)创建分支之前,HEAD指向master

(2)创建分支b1,HEAD指针指向b1

与svn不同的是,svn创建分支会把全部内容拷贝一份,git创建分支只会创建一个指针

3.实践

(1) # 新建一个仓库用于测试

git init

# 新建一个文件用于测试,并写入"第一次提交"

vim test.txt

# 提交修改到仓库

git add . && git commit -m '第一次提交'

# 修改文件test.txt,添加一行"第二次提交"

vim test.txt

# 第二次提交修改到仓库

git add . && git commit -m '第二次提交'

细心的朋友可能已经发现了,这两次提交我们都是在master(即主分支上)提交的,此时项目分支图如图所示

(2) 我们创建一个分支b1,一个分支b2,并演示一下分支切换

# 创建分支b1

git branch b1

# 切换到分支b1

git checkout b1

# 切换回主分支master,如图所示

git checkout master

# 创建并切换分支b2

git checkout -b b2

# 切换回主分支master,如图所示

git checkout master

创建分支后,此时项目分支图如图所示

(3) 尝试一下在不同分支下工作

在master进行工作

# 在master新建一个master.txt文件

touch master.txt

# 提交一次

git add . && git commit -m 'master上的第三次提交'

# 查看当前文件内容

ll

(4) 切换到其他分支看看,可以发现其他分支下并没有master.txt文件,是不是很神奇

# 切换到分支b1

git checkout b1

# 查看当前文件夹文件

ll

# 切换到分支b2

git checkout b2

# 查看当前文件夹文件

ll

(5) 分别在b1,b2工作

# 切换到分支b1

git checkout b1

# 创建文件

touch b1.txt

# 提交到仓库

git add . && git commit -m 'b1上的第三次提交'

# 查看当前文件目录

ll

# 切换到分支b2

git checkout b2

# 创建文件

touch b2.txt

# 提交到仓库

git add . && git commit -m 'b2上的第三次提交'

# 查看当前文件目录

ll

此时项目分支图如图所示

(6) 当发版时我们需要进行合并分支,现在我们把b2分支合并到master上

# 切换到分支master

git checkout master

# 合并代码

git merge b2

是不是很方便,当你同一时间一个项目遇到多处修改使用git会有多舒服你用过才知道。此时项目分支图如图所示

大功告成!

git上传分支的原理_GIT分支,创建分支与合并分支的工作原理与教程相关推荐

  1. 使用git上传代码到github

    1.      github上创建项目 github是一个服务器托管商,我们写好的代码可以上传到github上面去 登录github的官方网站:http://github.com/ 注册一个自己的用户 ...

  2. git上传提交遇到问题

    git上传提交遇到问题 一. The local repository is out of date.Make sure all changes have been pulled from the r ...

  3. git 上传修改文件

    git 上传修改文件 git init git remote add superman https://gitee.com/li_jiazhao_1/ChangClass_examination.gi ...

  4. 如何用Git向GitHub上传送文件(从注册GitHub到用Git上传的每一步)

    文章目录 1.GitHub 1.1.GitHub注册(已经注册过的直接看1.2GitHub仓库的建立) 1.2 GitHub仓库的建立 2.Git 2.1Git 安装 2.2 Git 下载 2.3 G ...

  5. Git上传代码时报错 Warning: Permanently added ‘gitee.com,212.64.62.174‘ (ECDSA) to the list of known host...

    Git上传代码时报错 Warning: Permanently added 'gitee.com,212.64.62.174' (ECDSA) to the list of known host... ...

  6. git上传文件到gitee

     第一步:登录注册gitee,有一个gitee仓库  1.git上传思路 2.git第一次上传步骤 第二步:将创建好的仓库,pull(拉取)到本地(不是第一次上传的情况下)            方式 ...

  7. Git 上传代码到github上

    学会操作git和使用Github来管理代码是技术开发人员的必备基本功,在工作中越来越发现,熟练掌握好git这个利器对工作非常有帮助. 首先你得在github上有一个账号.然后在上面创建一个创建个人项目 ...

  8. 直播平台源码开发过程中关于Git上传的简单操作说明

    通常在开发直播平台源码时,会涉及到有关于Git上传的内容,Git是目前世界上最先进的分布式版本控制系统,可以有效且高效的处理从小到大的项目版本管理. 站在直播平台源码开发者的角度来看,Git包含以下功 ...

  9. 头歌实践教学平台上如何建项目且通过git上传

    头歌实践教学平台上如何建项目且通过git上传 目标:在头歌上建立项目test,并通过git工具将文件上传至头歌中. (1) 首先在https://code.educoder.net/explore页面 ...

  10. git上传代码遇到的问题

    git上传代码遇到的问题 我太菜啦!QAQ 我今天想将自己的代码传到github上的仓库里 然后发现传不上去.唉~ 难受 然后,我用了命令git push -u origin master -f 虽然 ...

最新文章

  1. Yolo模型部署的两种方法
  2. skycons.js 基于canvas的天气动态js插件
  3. 最新版Xshell 6安装教程详解
  4. hadoop的datanode多磁盘空间处理
  5. [你必须知道的.NET]第十四回:认识IL代码---从开始到现在
  6. fiddler怎么修改服务器返回数据,基于Fiddler实现修改接口返回数据进行测试
  7. classmethod 继承_让人眼花缭乱的类继承
  8. 【面向对象】面向对象程序设计测试题5-Java中的对象交互测试题
  9. 搭建自己的博客(二十七):增加登录注册以及个人资料按钮
  10. 7-2 个位数统计 (15 分)
  11. 如何增加虚拟机ubuntu的硬盘
  12. IT服务管理、IT运维管理、IT运营管理
  13. tomcat运行超时问题解决
  14. 如何在 Python 中异步操作数据库?aiomysql、asyncpg、aioredis 使用介绍
  15. MFC隐藏任务栏图标并显示到托盘
  16. wan端口未连接怎么弄_路由器wan口网线未连接(wan口未插网线)的解决方法
  17. rabbitMq设置多线程并设置线程池消费处理
  18. 天平游码读数例题_天平游码怎么读数?
  19. 磁带储存拥有的4大优势
  20. ubuntu16.04升级至18.04

热门文章

  1. Mysql中SQL语句不使用索引的情况
  2. RegExp:正则表达式对象
  3. oracle to mysql demo_oracle to mysql
  4. android歌词效果,自定义View:Android歌词控件
  5. desktop docker 无法卸载_关于Docker:Docker – 无法移除死容器
  6. 强健程序员体魄————减脂原理
  7. 关于maven面试的哪些事儿~
  8. matlab示波器有功功率,巧用示波器计算功率-测试测量-与非网
  9. java ssh cpu_初学Java ssh之Spring 第四篇
  10. python的数据库中间件_数据库中间件设计方案