查看所有分支:

git branch

Git将列出所有分支,如果是当前使用的分支,前面会加一个星号表示

创建一个新的分支:

git branch 分支名称

创建一个分支并且指向该分支:

git checkout -b 新的分支名称

切换分支:

git checkout 已有的分支名称

删除分支:

注意,删除分支需要先离开这个分支才能执行删除

git branch -d 分支名称

切换到仆人分支,再删除女仆分支

在仆人分支下查看text.txt文件是可以的,即每一个分支都有同一个的工作区:

在这个分支进行提交:

这是在文件没有改变的情况下提交,似乎两个分支都共同具备这个版本

但是更改文件之后的提交:

vim text.txt
insert new content
:wq git add .
git commit -m '仆人分支的第二次提交'

分支会显示标注出来属于哪一分支下的版本:

如果切换回Master主分支之后查看文件,会发现,主分支下的文件还是之前的样子

现在Master主分支和Servant仆人分支是不一样的情况

我们可以将其他分支合并到主分支中

合并使用MERGE命令 将指定分支的版本合并到Master

git merge 分支名称

我们可以回忆下,在Servant分支上提交的时候,HEAD会指向最新提交的版本,因此,合并HEAD指向的版本保持不变

最新版本的工作区文件记录也会更新过来:

分支版本冲突:

现在在Master主分支上提交一次版本:

回到Servant分支:

在text.txt文件上添加修改并且提交

再回到Master主分支上查看文件:

现在合并Servant的版本:

就发现Git反馈错误了,自动合并失败,修复那些提交的结果

查看文件:

仓库状态还是一个未跟踪的一个状态

我们可以把它提交,解决合并冲突:

可以看到Master的分支正常了

冲突问题?

先合并

再手动解决

再添加

再提交

真实开发环境的分支操作:

BUG分支:

如果需要从正在开发的分支中切换到Master分支,没有提交的文件都将会被所有分支访问到

为了解决这个问题Git提供了stash命令,可以把暂存区中没有提交的文件锁定

这个文件将不会再访问到

等BUG修复,再回来恢复锁定的文件:

git stash list 查看锁定文件
git stash pop 弹出锁定

【Git】05 分支管理的更多相关文章

  1. Git的分支管理

    0.引言 本文参考最后的几篇文章,将git的分支管理整理如下.学习git的分支管理将可以版本进行灵活有效的控制. 1.如何建立与合并分支 1.1分支的新建与合并指令 新建分支 newBranch,并进 ...

  2. 你真的了解git的分支管理跟其他概念吗?

    现在前端要学的只是太多了,你是不是有时会有这个想法,如果我有两个大脑.一个学Vue,一个学React,然后到最后把两个大脑学的知识再合并在一起,这样就能省时间了. 哈哈,这个好像不能实现.现实点吧!年 ...

  3. git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...

  4. 引入git flow分支管理

    git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴.它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职.井井有条. 先看下Vincent Driessen ...

  5. git branch分支管理用法总结

    查看分支(远程和本地) 1 查看本地分支: $ git branch 2 查看远程分支: $ git branch -r 3.查看本地和远程分支 $ git branch -a 创建分支 1.创建本地 ...

  6. git(二) 分支管理

    概念 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇 ...

  7. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  8. git flow分支管理

    阅读目录 两种核心分支 三种临时分支 Git Flow流程示例代码 Git Flow工具 分支命名规范 总结 git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴. ...

  9. Git(四)Git的分支管理

    一. 创建合并分支原理 在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD指针严格来说不是指 ...

  10. 139.00.005 Git学习-分支管理

    @(139 - Environment Settings | 环境配置) 一.Why? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交, ...

随机推荐

  1. String Record

    T1. P5840 算法:ACAM+BIT+树链剖分 自然地,我们会对 \(s_i\) 建 ACAM,然后建出一颗 fail 树. 此时我们考虑集合内加入一个新的字符串.每一个匹配到的点我们都会给从这 ...

  2. 借助 DSL 来简化 Loadgen 配置

    引言 在上篇文章中,我们介绍了如何用 Loadgen 来简化 HTTP API 的集成测试.在实际使用中会发现,编写测试时最令人"头疼"的部分是设计测试的输入和校验程序的输出,而针 ...

  3. spring jpa restful请求示例

    创建项目 导入jar包mysql 数据库和连接池jar <dependency> <groupId>org.springframework.boot</groupId&g ...

  4. MySQL入门到实战详细教程

    MySQL介绍 MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品,它广泛应用于各种Web应用程序和网站,MySQL使用结构化查 ...

  5. STP选举规则

    STP Election Process 802.1D STP ​ 802.1D是第一个生成树版本,不支持VLAN.选举过程如下 选择一个根桥 选择根端口 选择指定端口 选择关闭端口(剩下的最后一个端 ...

  6. WatchDog:一款.NET开源的实时应用监控系统

    项目介绍 WatchDog是一个开源(MIT License).免费.针对ASP.Net Core Web应用程序和API的实时应用监控系统.开发者可以实时记录和查看他们的应用程序中的消息.事件.HT ...

  7. Zabbix---数据库表分区

    1) 查询zabbix数据库中各种表存储的大小和行数: mysql> select table_name, (data_length + index_length)/1024/1024 as t ...

  8. python基础-数据容器的通用操作

    五种数据容器的特性   列表list[]  元组tuple()  字符串str""   集合set{}   字典dict{key:value} 元素数量 支持多个 支持多个 支持多 ...

  9. logo描边

  10. 【Error】mysql的error.log中ranges: 268 max_threads: 4 split: 268 depth: 2是什么意思?

    2021-12-08T09:36:39.612332+08:00 44213799 [Note] [MY-011825] [InnoDB] Parallel scan: 4 2021-12-08T09 ...