Git (2) :Git练习

news2025/1/9 5:55:12

一.首先有个问题 ?

在进行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/189697.html

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

相关文章

音视频开发解答——门槛高,怎么样入门?知识清单一览

前言 在程序员行业中,音视频开发领域许多人接触后都觉得门槛偏高;不知道如何开始学起,网上资料很少。 看到这个问题作为行业老人,我就来说说音视频有哪些学习路线与难点? 音视频开发 音视频流媒体开发,工…

从零手写Spring(一):创建简单Bean容器

工作的前面三年,虽然一直在使用Spring,但对它却不甚了解,内心充满无数的疑问:为什么配置xml中bean就可以使用它?我的对象具体存在于哪里?为什么我的对象是单例模式? 每逢遇到面试问Spring的核…

Java---微服务---Sentinel规则持久化

Sentinel 规则持久化 一、修改微服务 修改微服务&#xff0c;让其监听Nacos中的sentinel规则配置。 具体步骤如下&#xff1a; 1.引入依赖 在order-service中引入sentinel监听nacos的依赖&#xff1a; <dependency><groupId>com.alibaba.csp</groupId>…

DPU02— USB 转 UART 桥接芯片

DPU02是一个高度集成的USB转UART的桥接控制器&#xff0c;该产品提供了一个简单的解决方案&#xff0c;可将RS-232设计更新为USB设计&#xff0c;并简化PCB组件空间。该DPU02包括了一个USB 2.0全速功能控制器、USB收发器、振荡器、EEPROM和带有完整调制解调控制信号的异步串行数…

suricata匹配从入门到精通(四)----编译lua

年前有粉丝私信我&#xff0c;想让我做一期lua脚本。作为一个宠粉的博主&#xff0c;那必须给予回应。suricata结合lua可以达到提升工作效率的作用。0x00 编译开启luna 支持&#xff1a;yum install luarocks &#xff08;不确定是否有用&#xff09;手动下载安装&#xff1a; …

Ubantu 16.04更新python版本(3.5 -> 3.9)【附:win10安装pypcap库解决办法】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、下载安装二、软连接三、下载pypcap库前言 不知道Pycharm抽什么风下不来pypcap库 百度上有回答说windows不兼容 还说的有理有据 于是只能重新捡起来ubantu了…

【手写 Promise 源码】第十二篇 - Promise.race 的实现

一&#xff0c;前言 上一篇&#xff0c;主要实现 Promise 的核心静态 API&#xff08;类方法&#xff09;&#xff1a;Promise.all&#xff0c;主要涉及以下几个点&#xff1a; 测试原生 Promise.all 的使用&#xff1b;Promise.all 的功能与特性分析&#xff1b;Promise.all…

什么是3D点云数据?该如何标注它?| 数据标注

自动驾驶汽车严重依赖输入数据来做出驾驶决策。一般来讲&#xff0c;数据越详细&#xff0c;车辆做出的决策就越好车辆行驶的也就更安全。虽然现代相机可以捕获非常详细的数据表示&#xff0c;但输出仍然是2D的&#xff0c;它限制了我们可以提供给操作车辆的神经网络的信息。相…

Java 技术知识点汇总

背景 面向百度编程&#xff0c;基本能解决大部分的问题。然而&#xff0c;技术用的熟练&#xff0c;时间久了却容易遗忘背后的技术思想&#xff0c;倒成了妥妥的搬运工了。 所以&#xff0c;偶尔针对用的技术&#xff0c;发几个灵魂拷问&#xff0c;也是很有必要的&#xff0…

Linux 软件管理 YUM管理工具 配置本地YUM源

概念引入 &#xff1a; # 首先提出一个问题&#xff0c;我们在 Linux 操作系统中是如何 安装软件的 &#xff1f;&#xff1f; >>> 在 Linux 系统中&#xff0c;安装软件是有三种方式 >>> 第一种 &#xff1a; RPM 管理工具 第二种 &#xff1a; YUM 管理工…

11、矩阵的分解

目录 一、对称正定矩阵的Cholesky分解 二、一般方阵的高斯消去法分解 三、矩形矩阵的正交分解 四、舒尔分解 矩阵分解是把一个矩阵分解成几个“较简单”的矩阵连乘的形式。在MATLAB中矩阵分解的相关函数有&#xff1a; 在MATLAB中&#xff0c;线性方程组的求解主要基于4种基…

剑指 Offer 第15天 搜索与回溯算法(中等)

目录 剑指 Offer 34. 二叉树中和为某一值的路径 剑指 Offer 36. 二叉搜索树与双向链表 剑指 Offer 54. 二叉搜索树的第k大节点 剑指 Offer 34. 二叉树中和为某一值的路径 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径…

【懒狗福音】设置Bios电源自启实现远程办公

目录前言正文需求分析开始实现需求1需求2总结前言 今年寒假升级了下家里台式机的配置&#xff0c;已经很能满足我的生产力需求。 尽管我是按着MATX主机的方向配的&#xff0c;选择的机箱也是净重较轻的铝合金材质&#xff0c;机身自带提手也还算便捷。 但是装配完毕后它的整…

前端开发:JS中数组常用方法汇总

前言 在前端开发中关于数组的使用想必前端开发者并不陌生&#xff0c;尤其是在处理业务逻辑的时候&#xff0c;从后端获取的数据类型中数组类型基本占到70%的比例&#xff0c;所以与其说是处理数据&#xff0c;不如说是处理数组&#xff0c;虽然说的有点夸张&#xff0c;前端实…

vue文件导出/下载

const blob new Blob([res.data]);const elink document.createElement(a);elink.download 导出数据.xlsx;elink.style.display none;elink.href URL.createObjectURL(blob);document.body.appendChild(elink);elink.click();URL.revokeObjectURL(elink.href);document.bo…

使用Coding管理项目代码记录

直接开门见山 一、创建项目 进入coding登录后&#xff0c;找到项目菜单&#xff0c;然后点击创建项目 二、创建代码仓库 进入项目中&#xff0c;针对不同需要创建代码仓库。大项目或者前后端分离分开开发的可以创建不同的代码仓库。 三、创建代码仓库与本地关联 项目管…

Java岗面试题--Java基础(日积月累,每日三题)

目录面试题一&#xff1a;JDK、JRE、JVM之间的区别面试题二&#xff1a;hashCode()与equals()之间的关系追问&#xff1a;为什么重写 equals() 就一定要重写 hashCode() 方法&#xff1f;面试题三&#xff1a;String、StringBuffer、StringBuilder的区别追问一&#xff1a;Stri…

vulfocus靶场通关(目录遍历)

uWSGI 目录穿越&#xff08;CVE-2018-7490&#xff09; uWSGI是一款Web应用程序服务器&#xff0c;它实现了WSGI、uwsgi和http等协议&#xff0c;并支持通过插件来运行各种语言,uWSGI 2.0.17之前的PHP插件&#xff0c;没有正确的处理DOCUMENT_ROOT检测&#xff0c;导致用户可以…

【运维】通过gotty实现网页代理访问服务器及K8S容器操作实践

Gotty 是Golang编写的可以方便的共享系统终端为web应用&#xff0c;是一个灵活强大的通过web访问终端的工具。本文将主要通过搭建Gotty实现对K8S容器的访问操作&#xff0c;开发如果想要正常的进行容器访问以及测试环境代码调试&#xff0c;最好是搭建一套与运维环境隔离的应用…

Gadget驱动程序框架

Gadget驱动程序框架 文章目录Gadget驱动程序框架参考资料&#xff1a;一、 怎样理解Gadget框架二、从硬件软件角度理解Gadget框架2.1 底层硬件操作_UDC驱动2.2 上层软件操作三、 从构造描述符的角度理解Gadget框架致谢参考资料&#xff1a; Linux下USB gadget设备详解Linux us…