Java_Git:4. 分支管理

news2024/9/22 5:25:48

目录

1 创建合并分支

2 使用TortoiseGit实现分支管理

2.1 创建分支

2.2 合并分支

3 解决冲突


  • 1 创建合并分支

    • Git会把每次的提交,串成一条时间线,即一个分支。
      • 初始状态,Git只有一条时间线(分支),这个分支叫主分支,即master分支。
    • HEAD指针严格来说指向master,master指向提交,即HEAD指向的就是当前分支。
      • HEAD -> master -> 提交
    • 每次提交,master分支都会向前移动一步,随着不断提交,master分支的线也越来越长。
    • 当我们创建新的分支如dev时,是Git新建了一个指针叫dev,先指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:
      • HEAD -> dev -> 提交(与master相同)
    • Git创建一个分支,增加了一个dev指针,更改了HEAD的指向,工作区的文件没有任何变化!
    • 不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:
      •  
    • 假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:
      •  
    • 所以Git合并分支也很快!就改改指针,工作区内容也不变!
    • 合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:
      •   
  • 2 使用TortoiseGit实现分支管理

    • 2.1 创建分支

      • 在本地仓库文件夹中点击右键,然后从菜单中选择“创建分支”:
      • 如果想创建完毕后直接切换到新分支可以勾选“切换到新分支”选项或者从菜单中选择“切换/检出”来切换分支:
        •                
    • 2.2 合并分支

      • 分支切换到dev后就可以对工作区的文件进行修改,然后提交到dev分支原理的master分支不受影响。例如我们修改mytest.txt中的内容,然后提交到dev分支。
        •  
        •  
      • 切换到master分支后还是原理的内容:
        • ​​​​​​​
      • 将dev分支的内容合并到master分支,当前分支为master。从右键菜单中选择“合并”: 
        • ​​​​​​​​​​​​​​
      • 再查看mytest.txt的内容就已经更新了:
        • ​​​​​​​​​​​​​​
  • 3 解决冲突

    • 两个分支中编辑的内容都是相互独立互不干扰的,那么如果在两个分支中都对同一个文件进行编辑,然后再合并,就有可能会出现冲突。
    • 例如在master分支中对mytest.txt进行编辑:
      • ​​​​​​​
    • 然后提交到版本库。
    • 切换到dev分支,对mytest.txt进行编辑:
    • ​​​​​​​最后进行分支合并,例如将dev分支合并到master分支。需要先切换到master分支然后进行分支合并。
      • ​​​​​​​​​​​​​​
    • 出现版本冲突。
      • ​​​​​​​
    • 冲突需要手动解决。
      • ​​​​​​​
    •  ​​​​​​​在冲突文件上单机右键选择“解决冲突”菜单项:
      • ​​​​​​​​​​​​​​
    •  ​​​​​​​​​​​​​​​​​​​​​把冲突解决完毕的文件提交到版本库就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高级Spring之BeanFactory 后处理器

老样子,直接上代码演示,准备一个干净的容器: // ⬇️GenericApplicationContext 是一个【干净】的容器GenericApplicationContext context new GenericApplicationContext();//注册configBeancontext.registerBean("config", Conf…

【C语言学习笔记】39. 错误处理、递归

前言 C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。 错误处理 C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生…

振弦采集模块配置工具VMTool的MODBUS 工具模块

振弦采集模块配置工具VMTool的MODBUS 工具模块 ( 1) 寄存器查看 此功能模块提供标准的 MODBUS 协议寄存器显示及单个寄存器修改功能,通过点击扩展功能区的【 MODBUS】 标签切换到此模块,如下图所示。 此模块将 VMXXX 所有寄存器以…

Codeforces Round #847 (Div. 3) A~E

比赛链接:Dashboard - Codeforces Round #847 (Div. 3) - Codeforces 目录 A. Polycarp and the Day of Pi B. Taisia and Dice C. Premutation D. Matryoshkas E. Vlad and a Pair of Numbers A. Polycarp and the Day of Pi 题意:求出一个数字…

一步创建 AI 图像网站,即刻生成 AI 图像解决方案 #Graydient

过去一年当中,AI 画图工具非常火爆,一条简单的指令,就能快速得出超高品质的图形,这对于游戏开发者来说无疑是令人振奋的消息,尤其是没有预算和人手打造美术资源的中小团队。从网络上看到的结果来看,AI 的绘…

JDBC(powernode 文档)(内含源代码)

源代码下载地址链接:https://download.csdn.net/download/weixin_46411355/87400304 目录 JDBC概述 1.1 前言 1.2 什么是JDBC 1.3 JDBC的原理 1.4 程序员,JDBC,JDBC驱动的关系及说明 1.4.1 JDBC API 1.4.2 JDBC 驱动 1.4.3 Java程序员…

并发编程-多线程并发设计原理

并发编程-多线程&并发设计原理并发编程简介多线程&并发设计原理1 多线程回顾1.1 Thread和Runnable1.1.1 Java中的线程1.1.2 Java中的线程:特征和状态1.1.3 Thread和Runnable接口1.1.4 Callable1.2 synchronized关键字1.2.1 锁的对象1.2.2 锁的本质1.2.3 实现…

k8s实现controller如何远程调式?

背景: 使用kubebuilder和code-generate生成自定义资源代码后,实现管理自定义资源的controller逻辑。此时,需要调试controller代码逻辑,有2种思路。方法1:对该代码打包成镜像文件,直接部署进入k8s集群中&…

Springboot+vue中小企业合同管理系统

编写企业合同管理系统,让其能创建合同、修改合同、删除合同、合同变更标识、合同收款提醒、合同时间管理、合同废止标识、结束合同、合同统计、合同查询等几大功能。 (1) 创建合同 管理人员将签订后的合同的各项信息存入数据库中,使合同进入开始执行的…

网络编程(2)

封装和分用 1)封装:就是在数据中添加一些辅助传输的信息; 2)分用:就是解析这些信息 3)发送数据的时候,上层协议要把数据交给下层协议,由下层协议来添加一些信息 4)接收数据的时候,下层协议要把数据交给上层协议,有上层…

分割pdf的办法?看这里就明白了!

对于大多数办公党来说,困难的或许不是制作一些办公文件、文档,重要的是如何将这些文档以合适的形式发送给需要的人。不管是客户还是同事、上级,他们对文档格式、内容的要求都是有不一样的标准的。这时候我们就面临一个重要的问题了&#xff0…

Linux驱动开发:块设备驱动

这里写自定义目录标题一、块设备的简介二、块设备驱动框架1、block_device 结构体2、gendisk 结构体3、block_device_operations 结构体4、块设备 I/O 请求过程5、bio 结构体三、使用请求队列方式的块设备驱动程序1、经过第“二”部分的讲解总结,可以得出驱动程序的…

Java基础10:常用API(上)

Java基础10:常用API(上)一、Math二、System1. currentTimeMillis2. arraycopy三、Runtime四、Object1. toString2. equals3. clone五、Objects六、BigInteger1. 构造方法(获取BigInteger)2. 常用方法七、BigDecimal1. …

2023年房地产地段研究报告

房地产的投资业务中,选择一个好的地段,或者说区位,是十分重要的。在房地产行业,房价中包含地价,而房价上升的主要原因则是地价的上升。当房屋所处的地段深受消费者青睐、该地段的房屋供不应求时,房屋的价格…

Minecraft 1.19.2 Fabric模组开发 08.3D动画盔甲

我们本次在Fabric 1.19.2中实现具有动画效果的3D盔甲 效果演示效果演示效果演示 1.首先,为了实现这些效果,我们需要首先使用到一个模组:geckolib(下载地址) 找到项目的build.gradle文件,在repositories和dependencies中添加依赖。 reposit…

python+django校园大学生兼职系统vue357

目 录 摘 要 I Abstracts II 目 录 III 第1章 绪论 1 1.1课题背景 1 1.2研究意义 1 1.3研究内容 2 第2章 技术介绍 1 第3章 需求分析 4 3.1需求分析概述 4 3.2可行性分析 4 3.2.1经济可行性 5 3.2.2技术可行性 5 3.3系统功能设计 …

Target 塔吉特DVS EDI 业务测试指南

Target塔吉特是美国仅次于Walmart沃尔玛的第二大巨型折扣零售百货集团,由于拓展了其数字化履约能力,使得越来越多的国内零售产品供应商和Target建立合作关系。Target要求其供应商通过EDI(Electronic Data Interchange,中文名称是电…

基于蜣螂算法改进的随机森林回归算法 - 附代码

基于蜣螂算法改进的随机森林回归算法 - 附代码 文章目录基于蜣螂算法改进的随机森林回归算法 - 附代码1.数据集2.RF模型3.基于蜣螂算法优化的RF4.测试结果5.Matlab代码6.Python代码摘要:为了提高随机森林数据的回归预测准确率,对随机森林中的树木个数和最…

来看看这些电脑清理内存的方法

随着电脑使用时间的增加,你有没有发现电脑用得越多反应越慢?如果你遇到这个问题,可以试试这几个优化设置,让你的电脑速度起死回生! 方法一:删除临时文件 按键盘上的Win R,在对话框中输入【%temp…

96. 不同的二叉搜索树

96. 不同的二叉搜索树题目算法设计:枚举算法设计:动态规划题目 传送门:https://leetcode.cn/problems/unique-binary-search-trees/ 算法设计:枚举 当 n 5,用 {1、2、3、4、5} BST数是多少组? 有 5 种情…