分支管理

一、分支推进

  • 主分支

    单线分支,随着代码的提交而形成的一条直线,HEAD 随着commit提交之后的节点移动而移动。

  • 子分支

    • 当切换到子分支的时候,HEAD 则指向子分支的节点。

    • 在子分支上commit提交,则子分支到下一个节点,主分支不变。

    • 切换到主分支上,HEAD 则指向主分支。

    • 当主分支合并子分支后,并提交,HEAD依然指向主分支并到下一节点。

    • 当整个项目结束后,只保留主分支

二、创建分支

1
2
3
4
5
# 第一种方式 创建dev分支  -b 创建并切换分支
$ git checkout -b dev
# 第二种方式
$ git branch dev # 创建dev分支,但没有切换分支
$ git checkout dev # 切换dev分支

三、查看分支

1
2
3
4
# * dev 表示当前在dev分支上
$ git branch
* dev 
  master

四、合并分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#切换到dev 分支
$ git checkout dev
# 创建一个文件
$ touch index.html
# 提交到工作区
$ git add index.html
# 提交到版本库
$ git commit -m'[+ add index.html file]'
# 切换到master分支
$ git checkout master
# 查看当前文件
$ ls
# 合并分支
$ git merge dev
# 查看当前文件
$ ls
# 删除dev 分支
$ git branch -d dev 

五、解决冲突

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 切换到master分支
$ git checkout master
# 创建一个文件 readme.txt,写入 this is a readme.txt file
$ touch readme.txt
$ git add readme.txt
# 创建一个分支并切换
$ git checkout -b fuqiang
# 写入readme.txt 文件 testing is now ! 并保存
$ vim readme.txt
# 提交到分支fuqiang的工作区
$ git add readme.txt
# 提交到分支fuqiang的版本库
$ git commit -m'[* 制造bug]'
# 切换到master分支
$ git checkout master
# 合并分支
$ git merge fuqiang
# 合并出错,打开 readme.txt 把 >>> 之类的东西删除掉
# 提交到master分支的工作区
$ git add readme.txt
# 提交到master分支的版本库中
$ git commit -m'[+ add readme.txt file]' 

GIT之分支管理的更多相关文章

  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. Oracle中创建千万级大表归纳

    从一月至今,我总共归纳了三种创建千万级大表的方案,它们是: 下面是这三种方案的对比表格: # 名称 地址 主要机制 速度 1 在Oracle中十分钟内创建一张千万级别的表 https://www.cn ...

  2. stackoverflow的ret2syscall利用

    ret2syscall 系统调用 ret2syscall,即控制程序执行系统调用,获取shell.Linux将内核功能接口制作为系统调用(system call),可在程序中直接调用.程序中存在int ...

  3. Require.js中的路径在IDEA中的最佳实践

    本文主要讲述require.js在IDEA中路径智能感知的办法和探索中遇到的问题. 测试使用的目录结构:一种典型的thinkphp 6的目录结构,如下图. 现在我通过在 vue-a.js 中运用不同的 ...

  4. 痞子衡嵌入式:IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞问题的分析解决经验. 事情缘起恩智浦官方论坛上的一 ...

  5. 文件操作和OS模块的简单操作

    文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电 ...

  6. redis部署问题

    在部署redis哨兵的时候,一开始一直都是失败:杀死master进程后,没有选出新的master 日志如下 9985:X 18 Feb 20:14:42.409 # +sdown master mym ...

  7. Raspberry Pi 4B 安装 CentOS 8

    最近新入手一块Raspberry Pi 4B 8G的板子,想在这块板子上搭建CentOS 8的环境.经过数次采坑终于安装成功. 准备条件: 1.Raspberry Pi 4B 板子 +  SD卡 2. ...

  8. 永久激活(idea,pycharm等推荐使用)

    二.永久激活(推荐使用)激活码激活总是过期,永久激活后,一劳永逸,不需要每次都在网上搜索激活码了. 1.下载激活插件:jetbrains-agent.jar(关注公号[吾非同]回复pycharm获取) ...

  9. @JsonCreator自定义反序列化函数-JSON框架Jackson精解第5篇

    Jackson是Spring Boot(SpringBoot)默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的, ...

  10. Jenkins打Docker镜像推送到私有仓库

    Jenkins打Docker镜像推送到私有仓库 因为我的Jenkins是安装在群晖NAS中的docker,所以我这边就以Docker安装Jenkins为例 echo '================ ...