git 语法学习小记

目录

    • 1、基础:git commit、git branch、git merge、git rebase
    • 2、高级:分离HEAD、相对引用^、相对引用2~(可强制移动分支)、撤销变更
    • 3、移动提交:自由修改提交树——git cherry-pick、交互式rebase
    • 4、杂项:Git技术、技巧与贴士大集合——只取一个提交记录、提交的技巧#1/2、git tag、git describe。
    • 5、级话题:多次rebase、两个父节点、纠缠不清的分支

1、基础:git commit、git branch、git merge、git rebase

//创建新的提交记录
git commit
//创建新的分支(如图1)
git branch newImage
git checkout newImage;git commit

合并分支法一:

//如图2,把 【bugFix】 合并到 main 里
git merge bugFix   (前者,带星号)
//把【main】 分支合并到 bugFix
git checkout bugFix;git merge main

合并分支法二:

//把 bugFix 分支里的工作直接移到 【main】 分支上,图3
git rebase main  (后者,无星号)
//把main分支rebase到【bugFix】
git rebase bugFix

练习(6步?)

git branch bugFix;
git checkout bugFix;git commit;
git checkout main;git commit;(切换出两条分支) 
git checkout bugFix;git rebase main。

2、高级:分离HEAD、相对引用^、相对引用2~(可强制移动分支)、撤销变更

HEAD指向正在进行工作的提交记录,通过指向分支名——通过cat .git/HEAD、git symbolic-ref HEAD查看HEAD指向。(HEAD指向本身)

git checkout C1;   //由HEAD->main->C1,变成HEAD->C1
# git checkout main;git commit; git checkout C2

git log查看提交记录的哈希值,使用^向上移动一个提交记录,~2或n向上移动多个提交记录;

main相当于main的父节点,main^相当于main的第二个父节点。(HEAD指向上一级)

git checkout bugFix^
git checkout bugFix~3
#  !!! 移动分支:-f让分支指向另一个提交。以下将main分支强制指向HEAD的第3级父提交。
git branch -f main HEAD~3

练习:

git branch -f bugFix HEAD~2;
git branch -f main C6;
git checkout HEAD^
#退回上一个(删去C2,保留C1)——本地分支
git reset HEAD~1
#引入C2'相当于C1的状态——远程分支
git revert HEAD

3、移动提交:自由修改提交树——git cherry-pick、交互式rebase

//(1)已知提交记录的哈希值
git cherry-pick C2 C6 C4
//(2)未知哈希值,有一系列的提交记录。使用带参数--interactive的rebase命令,简写为-i;UI窗口用VIM打开。
git  rebase -i HEAD~4

备注:鼠标拖放调整顺序,(omit)切换 pick 的状态删除提交,合并提交(暂不支持)。

4、杂项:Git技术、技巧与贴士大集合——只取一个提交记录、提交的技巧#1/2、git tag、git describe。

(1)本地栈式提交

# main分支得到bugFix的相关提交
git rebase -i HEAD~3;
git cherry-pick;

(2)提交的技巧1

#相当于上次提交错误的信息被覆盖了,重新加了个信息(C'')
git commit --amend

5、级话题:多次rebase、两个父节点、纠缠不清的分支

(1)多分支rebase(4条?)

git checkout bugFix
git rebase main
git checkout side
git rebase bugFix
git checkout another
git rebase side
git branch -f main another

备注:HEAD大写,其他git命令小写。使用undo和reset可以恢复原样。

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

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

相关文章

GitHub Copilot:让开发编程变得像说话一样简单

引用: 人类天生就梦想、创造、创新。但今天,我们花太多时间被繁重的工作所消耗,花在消耗我们时间、创造力和精力的任务上。为了重新连接我们工作的灵魂,我们不仅需要一种更好的方式来做同样的事情,更需要一种全新的工…

Mysql-主从复制与读写分离

Mysql 主从复制、读写分离 一、前言:二、主从复制原理1.MySQL的复制类型2. MySQL主从复制的工作过程;3.MySQL主从复制延迟4. MySQL 有几种同步方式:5.Mysql应用场景 三、主从复制实验1.主从服务器时间同步1.1 master服务器配置1.2 两台SLAVE服务器配置 2…

配置tomcat内存大小(windows、linux)

一、参数说明 -Xms: JVM初始分配的堆内存 -Xmx: JVM最大允许分配的堆内存,按需分配 -XX:PermSize: JVM初始分配的非堆内存 -XX:MaxPermSize: JVM最…

【报错】sqli-labs靶场搭建出现“Unable to connect to the database: security”

问题描述 搭建sqli-labs靶场时,在配置好PHP和mysql以及db-creds.inc配置文件后 初始界面可以运行,但点击关卡报错 提示连接不到数据库 Unable to connect to the database: security解决方案: 1、数据库配置出错,先查看db-cre…

java篇 类的进阶0x0D:接口与抽象类

文章目录 接口定位内容构成抽象方法缺省实现的抽象方法private 方法静态方法 静态常量 应用特点多态IDEA 快捷自动实现接口 接口的继承接口是否属于多继承?从不同接口继承相同方法阻绝抽象方法的缺省实现 抽象类抽象类 vs. 接口如何让接口更像抽象类 接口 定位 接…

Apple - Bonjour (NSNetService)

Bonjour 文章目录 Bonjour一、Bonjour介绍Cocoa 网络框架二、Bonjour 网络配置原理1. 寻址(分配IP地址给主机)2. 命名 (使用名字,而不是IP地址来代表主机)3. 服务搜索(自动在网络搜索服务)三、使用说明1、发布服务2、查询服务3、决议服务四、使用示例NSNetServiceBrowserD…

Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin

Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin 1. 前言Maven的两种打包方式 2. 流程图3. spring-boor-maven-plugin打包4. maven-jar-plugin/maven-dependency-plugin打包 1. 前言 Maven的两种打包方式 spring-boot-maven-plugin springboot默认打包方…

如何运用R语言进行Meta分析与【文献计量分析、贝叶斯、机器学习等】多技术融合实践与拓展

Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…

Simple Set Problem hdu 7314

Problem - 7314 题目大意&#xff1a;有n个数组&#xff0c;从每个数组中取一个数构成数组b&#xff0c;求b中最大值和最小值的差的最小值 1<n<1e6;总数字数量<1e6;-1e9<数字大小<1e9 思路&#xff1a;要想最大值和最大值的差最小&#xff0c;所以我们要对他…

【FusionInsight HD】FusionInsight HD 651创建集群-Yarn

FusionInsight HD 651创建集群-Yarn FusionInsight HD 651创建集群-Yarn登录FusionInsight Manager修改初始密码创建集群设置集群信息选择主机设置机架选择服务分配角色服务配置确定安装集群集群验证HDFS验证Yarn验证Zookeeper验证总结FusionInsight HD 651创建集群-Yarn 登录…

机器学习深度学习——softmax回归的简洁实现

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——softmax回归从零开始实现 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你…

Java 设计模式——原型模式

目录 1.概述2.结构3.实现3.1.浅拷贝3.2.深拷贝3.2.1.通过对象序列化实现深拷贝&#xff08;推荐&#xff09;3.2.2.重写 clone() 方法来实现深拷贝 4.优缺点5.使用场景 1.概述 &#xff08;1&#xff09;原型模式 (Prototype Pattern) 是一种创建型设计模式&#xff0c;是通过…

在Windows 10/11 上安装GNS3模拟器

文章目录 在Windows 10/11 上安装GNS3模拟器简介支持的操作系统最低要求推荐配置要求最佳配置要求下载GNS3 all-in-one 安装文件安装GNS3在Windows 10/11 上安装GNS3模拟器 简介 本文档解释了如何在Windows环境中安装GNS3。你将学习如何: 下载所需的软件安装前提条件和可选软…

【C++】 VS2020 vector+template的案例

如果对博主其他文章感兴趣可以通过【CSDN文章】博客文章索引找到。 # include <iostream> # include <vector> using namespace std;template<class T> // 用class或者typename均可 void my_print(T& v, const string msg) // v前面不允许加const, 加…

SpiderFlow爬虫平台(爬虫学习)

申明 作为自己学习的记录,方面后期查阅 官网 SpiderFlow官网 简介 spider-flow 是一个爬虫平台&#xff0c;以图形化方式定义爬虫流程&#xff0c;无需代码即可实现一个爬虫 是使用springboot开发的项目,后端代码直接运行即可使用

Codeforces Round 888 (Div. 3)(A-F)

文章目录 ABCDEF A 题意&#xff1a; 就是有一个m步的楼梯。每一层都有k厘米高&#xff0c;现在A的身高是H&#xff0c;给了你n个人的身高问有多少个人与A站在不同层的楼梯高度相同。 思路&#xff1a; 我们只需要去枚举对于A来说每一层和他一样高&#xff08;人的身高和楼…

DNS协议详解

DNS协议详解 DNS协议介绍DNS解析过程DNS查询的方式递归查询迭代查询区别 DNS协议介绍 DNS 协议是一个应用层协议&#xff0c;它建立在 UDP 或 TCP 协议之上&#xff0c;默认使用 53 号端口。该协议的功能就是将人类可读的域名 (如&#xff0c;www.qq.com) 转换为机器可读的 IP…

uniapp 微信小程序 页面+组件的生命周期顺序

uniapp 微信小程序 页面组件的生命周期顺序 首页页面父组件子组件完整顺序参考资料 首页 首页只提供了一个跳转按钮。 <template><view><navigator url"/pages/myPage/myPage?namejerry" hover-class"navigator-hover"><button ty…

数据结构---顺序栈、链栈

特点 typedef struct Stack { int* base; //栈底 int* top;//栈顶 int stacksize //栈的容量; }SqStack; typedef struct StackNode { int data;//数据域 struct StackNode* next; //指针域 }StackNode,*LinkStack; 顺序栈 #define MaxSize 100 typedef struct Stack { int*…

PyTorch quantization observer

文章目录 PyTorch quantization observerbasic classstandard observersubstandard observer PyTorch quantization observer basic class nameinheritdescribeObserverBaseABC, nn.ModuleBase observer ModuleUniformQuantizationObserverBaseObserverBase standard observ…