Git (2) :Git练习--分支的新建与合并

news2024/11/17 6:28:54

一.首先有个问题 ?

在进行git练习前,有个问题需要提下。。。。
csdn无法登录了。

查了一下资料,是因为CSDN服务器的各地相应速度不一样,辽宁的响应是超时的,所以通过在hosts文件中指定域名http://csdnimg.cn的服务器IP地址不再通过DNS查询!
下面是解决方案:

https://www.zhihu.com/question/415839724


二.git练习

首先先记住一个地址,方便学习git ,开源免费的,讲得非常之详细~

https://git-scm.com/book/zh/v2

好,开始git的练习,哈哈

1.本机建立两个git仓库

一个是git init的(git init前的操作本文章忽略):

git init
#Initialized empty Git repository in F:/testgit/.git/

另一个是clone 过来的 :

$ git clone \F:\testgit
#Cloning into 'testgit'...
#done.

两种仓库方式,一种init,一种clone。别和remote搞混了!

2.分支的新建与合并

让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤:

开发某个网站。

为实现某个新的用户需求,创建一个分支。

在这个分支上开展工作。

正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:

切换到你的线上分支(production branch)。

为这个紧急任务新建一个分支,并在其中修复它。

在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。

切换回你最初工作的分支上,继续工作。

目前在master 上工作:
现在,你已经决定要解决你的公司使用的问题追踪系统中的 #53 问题。 想要新建一个分支并同时切换到那个分支上,你可以运行一个带有 -b 参数的 git checkout 命令:
在这里插入图片描述

你继续在 #53 问题上工作,并且做了一些提交。 在此过程中,iss53 分支在不断的向前推进,因为你已经检出到该分支 (也就是说,你的 HEAD 指针指向了 iss53 分支)

vim a.cpp
然后修改了内容。。。
git add a.cpp
git commit -m "chang 1[issue53]"

在这里插入图片描述
现在你接到那个电话,有个紧急问题等待你来解决。 有了 Git 的帮助,你不必把这个紧急问题和 iss53 的修改混在一起, 你也不需要花大力气来还原关于 53# 问题的修改,然后再添加关于这个紧急问题的修改,最后将这个修改提交到线上分支。 你所要做的仅仅是切换回 master 分支。

但是,在你这么做之前,要留意你的工作目录和暂存区里那些还没有被提交的修改, 它可能会和你即将检出的分支产生冲突从而阻止 Git 切换到该分支。 最好的方法是,在你切换分支之前,保持好一个干净的状态。 有一些方法可以绕过这个问题(即,暂存(stashing) 和 修补提交(commit amending)), 我们会在 贮藏与清理 中看到关于这两个命令的介绍。 现在,我们假设你已经把你的修改全部提交了,这时你可以切换回 master 分支了:

$ git checkout master
Switched to branch 'master'

这个时候,你的工作目录和你在开始 #53 问题之前一模一样,现在你可以专心修复紧急问题了。 请牢记:当你切换分支的时候,Git 会重置你的工作目录,使其看起来像回到了你在那个分支上最后一次提交的样子。 Git 会自动添加、删除、修改文件以确保此时你的工作目录和这个分支最后一次提交时的样子一模一样。
接下来,你要修复这个紧急问题。 我们来建立一个 hotfix 分支,在该分支上工作直到问题解决:
在这里插入图片描述

在这里插入图片描述
你可以运行你的测试,确保你的修改是正确的,然后将 hotfix 分支合并回你的 master 分支来部署到线上。 你可以使用 git merge 命令来达到上述目的:
在这里插入图片描述
在这里插入图片描述
关于这个紧急问题的解决方案发布之后,你准备回到被打断之前时的工作中。 然而,你应该先删除 hotfix 分支,因为你已经不再需要它了 —— master 分支已经指向了同一个位置。 你可以使用带 -d 选项的 git branch 命令来删除分支:

$ git branch -d hotfix
#Deleted branch hotfix (3a0874c).

在这里插入图片描述

现在你可以切换回你正在工作的分支继续你的工作,也就是针对 #53 问题的那个分支(iss53 分支)。
在这里插入图片描述
你在 hotfix 分支上所做的工作并没有包含到 iss53 分支中。 如果你需要拉取 hotfix 所做的修改,你可以使用 git merge master 命令将 master 分支合并入 iss53 分支,或者你也可以等到 iss53 分支完成其使命,再将其合并回 master 分支。

分支的合并

假设你已经修正了 #53 问题,并且打算将你的工作合并入 master 分支。 为此,你需要合并 iss53 分支到 master 分支,这和之前你合并 hotfix 分支所做的工作差不多。 你只需要检出到你想合并入的分支,然后运行 git merge 命令:

冲突:
在这里插入图片描述
在这里插入图片描述
修改冲突:
在这里插入图片描述
改为:change 3 (最新修改的)
之后用如下命令结束冲突:

git add a.cpp

之后看看gui:
在这里插入图片描述
此时master还没有合并 成功,需要commit (master/MERGING)
在这里插入图片描述
再看:
在这里插入图片描述
完成合并,撒花✿✿ヽ(°▽°)ノ✿

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

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

相关文章

机器学习之卷积操作

很多好主意一旦踏上语义鸿沟,就再也听不到。 卷积,在图像、视觉领域乃老生常谈的内容,但是对于具体工作细节仍然值得我去学习。 卷积原理 卷积,就是利用一个小的矩阵(或者更高维向量)作用于图像矩阵(或者特征矩阵),然…

Web测试、APP测试常用技巧(错过你一定会后悔)

目录 1. web元素定位七种方式 2. app元素定位3种方式 3. adb常用命令 4. 键盘操作常用函数 5. 鼠标操作常用函数 6. apppium: 7. fixture 1. web元素定位七种方式 优先使用的6种 find_element_by_id (返回一个元素)find_element(s)_by_class_name (根据类名…

2023-02-01 pthread线程局部数据-记录

摘要: pthread线程局部数据-记录 参考: https://www.akkadia.org/drepper/tls.pdf https://en.wikipedia.org/wiki/Thread-local_storage https://download.csdn.net/download/adofsauron/87408865 测试代码: 示例一: #include<stdio.h> #include<stdlib.h> #…

pip install timeout错误解决方案

大家好&#xff0c;我是爱编程的喵喵。双985硕士毕业&#xff0c;现担任全栈工程师一职&#xff0c;热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结…

java spring Bean生命周期

首先 要搞清楚大概念 什么是生命周期&#xff1f; 学过vue和react的前端会有概念 简单说 就是一个对象从创建到销毁的整个过程 那么 bean的生命周期 我们先文字描述 然后再看效果 第一 阶段 通过构造器创建bean实例 就是找到bean对象配置的 类中的无惨构造 创建对象 第二阶段…

React学习笔记-(Bilibili李立超)

写法的变更 之前 const divNode <div>你好,React</div> ReactDOM.render(divNode,document.getElementById(root))会警告 现在 <script type"text/babel">const divNode <div>你好,React</div>const root ReactDOM.createRoot(…

【PHP 随记】—— laravel 项目环境搭建

&#x1f449;总目录&#x1f448;\large\colorbox{skyblue}{&#x1f449;总目录&#x1f448;}&#x1f449;总目录&#x1f448;​ 文章目录1、安装 laravel 以及 phpstorm 开发插件2、配置虚拟主机与绑定 hosts 文件① 配置虚拟主机② hosts 绑定③ 验证3、配置数据库① 配…

【MyBatis持久层框架】使用Java注解完成CRUD详细解读

文章目录1. 前言2. 实战案例2.1 准备工作2.2 编写接口方法2.3 映射SQL语句2.4 编写测试方法3. SQL语句构建器4. 总结1. 前言 之前我们通过 XML 配置文件的方式映射 sql 语句&#xff0c;将 sql 语句与 Java 代码分离&#xff0c;大大的提高了开发的效率并且解决了 JDBC 原生方…

MySQL - 为什么索引存储要用B+树,用链表不行吗?

MySQL - 为什么索引存储要用B树&#xff0c;用链表不行吗&#xff1f; 时间&#xff1a;2023年2月1日22:19:09 一、先来比较一下链表和树&#xff1f; 二、为什么数据库索引要用B树&#xff1f; 为什么要用索引&#xff0c;数据直接Load到内存里查不可以吗&#xff1f;&#…

Hive最全总结,学习与面试,收藏这一篇就够了!

Hive基础概念和用途 Hive是Hadoop下的顶级 Apache项目&#xff0c;早期的Hive开发工作始于2007年的 Facebook。 ⬛ Apache Hive是一款建立在Hadoop之上的开源数据仓库系统&#xff0c;可以将存储在Hadoop文件中的结构化、半结构化 数据文件映射为一张数据库表&#xff0c;基…

操作系统(day05)-- 进程调度、调度算法

文章目录进程调度&#xff08;低级调度&#xff09;进程调度的时机进程调度的方式调度算法的评价指标FCFS&#xff0c;SJF&#xff0c;HRRN调度算法先来先服务&#xff08;FCFS&#xff09;短作业优先&#xff08;SJF&#xff09;高响应比优先&#xff08;HRRN&#xff09;进程…

从0开始用hooks搭建一个事件待办的demo(一)

需求一&#xff1a;实现header&#xff0c;点击加号展示input&#xff0c;再次点击隐藏input 分析&#xff1a; 首先&#xff0c;需要两个子组件header和addInput&#xff1b; header组件负责展示图一的内容&#xff0c;给加号添加一个点击事件&#xff0c;来触发展示input的函…

zookeeper源码分享五 --- 数据结构

zookeeper 内存数据结构 zookeeper在内存当中是有一份完整的数据&#xff0c;底层数据结构是基于hashMap去实现的。 在map的key是path&#xff0c;value是具体节点信息(DataNode)。 在map的顶层中有所有节点的path信息&#xff0c;每个节点都要子节点的path(不是具体的节点信息…

图的存储与遍历

目录 一.邻接矩阵 1.1概念介绍 1.2代码示例 1.3代码测试 二.邻接表 2.1概念介绍 2.2代码示例&#xff1a; 2.3代码测试 三.遍历 3.1广度优先遍历&#xff08;BFS&#xff09; 3.1.1邻接表&#xff08;BFS&#xff09; 3.1.2邻接矩阵&#xff08;BFS&#xff09; 3.2深…

不是计算机专业的,想学Java,能学得会吗?

看到这个问题&#xff0c;想到昨天一位机电一体化专业的同学来咨询了Java和云计算两个专业的培训情况。一来就问&#xff1a;“我这种情况能学得会吗&#xff0c;之前也没接触过计算机方面的专业&#xff0c;就是玩玩游戏&#xff0c;正常上网之类的操作&#xff1b;但我是真的…

【数据结构与算法】图的基本概念 | 邻接矩阵和邻接表 | 广度优先遍历和深度优先遍历

&#x1f320;作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《数据结构与算法要啸着学》 &#x1f387;座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;…

ElasticSearc写入查询性能优化总结

文章目录前言1、bulk批量写入2、多线程写入3、修改索引刷新时间4、修改merge参数以及线程数6、index buffer7、磁盘间的任务均衡8、Mapping优化8.1、自动生成docID(避免ES对自定义ID验证的操作)8.2、调整字段Mapping8.3、调整_source字段8.4、禁用_all8.5、禁用Norms8.6、index…

Elasticsearch学习-父子文档

elasticsearch父子文档处理 join 一、背景二、需求三、前置知识四、实现步骤 1、创建 mapping2、添加父文档数据3、添加子文档4、查询文档 1、根据父文档id查询它下方的子文档2、has_child返回满足条件的父文档3、has_parent返回满足父文档的子文档 五、Nested Object 和 joi…

docker部署vue

1: 创建 Dockerfile 文件 配置一下内容&#xff1a; # 设置基础镜像&#xff0c;这里使用最新的nginx镜像&#xff0c;前面已经拉取过了 FROM nginx # 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 COPY dist/ /usr/share/nginx/html/ 2: 安装nginx …

物联网平台的产品架构

一、物联网介绍1. 概述物联网&#xff08; IoT &#xff0c;Internet of things &#xff09;即“万物相连的互联网”&#xff0c;是互联网基础上的延伸和扩展的网络&#xff0c;将各种信息传感设备与互联网结合起来而形成的一个巨大网络&#xff0c;实现在任何时间、任何地点&…