【Gitee自动化测试4】本地Git分支的增删查,本地Git分支中文件的增删查,本地文件的暂存/提交,本地分支的推送
一、流程
- 本地创建分支,设定连接什么云分支
- 本地创建文件,暂存、提交–>本地分支
- 本地分支推送所有修改–>云仓库
二、分支概念
- 在版本回退里,每次提交,git都把它们串成一条时间线,这条时间线可以理解为是一个分支。默认git创建仓库以后,只有一个分支,叫做主分支master/重命名main。
- HEAD指针,严格来说不是指向提交,而是指向master,master才是指向提交的。而HEAD指向的分支就是当前分支。
- 每次提交,master分支都会向前移动一步,这样,随着不断的提交,master分支线也会越来越长,而HEAD只要一直指向master分支即可指向当前分支。
三、父子分支 vs 并列分支
1. 父子分支
- 子分支创建时,包含了父分支的所有历史。
- 子分支和父分支,在创建后是独立的,不会互相影响,
要将 父分支的更改 引入子分支,需要执行合并(merge)或重基(rebase)操作。
要将 子分支的更改 引入父分支,需要执行合并(merge)或重基(rebase)操作。
2. 并列分支
- 并列分支的历史也是独立的,不会互相影响。
要将 一个并列分支的更改 引入另一个并列分支,需要执行合并(merge)或重基(rebase)操作。
3. 相似之处
无论什么分支,都需要使用合并(merge)或重基(rebase),将一个分支的更改 引入到另一个分支中。
4. 不同之处
其实没什么不同,但是人类眼里意义不同。
5. 合并 A 分支到 B 分支时
- 当你在B分支上执行 git merge A 时,Git会找到A和B分支的共同祖先(即最近的共同提交)
- Git会比较共同祖先与分支A的差异,以及共同祖先与分支B的差异。这样,它可以确定两个分支各自做了哪些更改。
- Git会生成一个新的合并提交。这个合并提交包含:
A分支 自共同祖先以来的所有更改。
B分支 自共同祖先以来的所有更改。 - 合并提交在B分支的提交历史中形成一个新的节点。B 的历史将包括:
B 原有的所有提交。
A 的所有提交。
四、本地Git分支的增删查
1. 查看分支:git branch
- 输出:cyj和main是并列的分支,当前HEAD 指向cyj分支
2. 创建新分支,并立即切换HEAD到该分支:git checkout -b 新分支名称
3. 切换HEAD到分支:git checkout 分支名称
- 输出: Switched to branch ‘main’
Your branch is up to date with ‘origin/main’. - 翻译:已切换到分支 main。
您的分支与远程分支 origin/main 是最新的(没有新的提交)。
4. 删除分支:先切换到其他分支,再git branch -d 要删除的分支名称
- 输出: error: The branch ‘cyj’ is not fully merged.
If you are sure you want to delete it, run ‘git branch -D cyj’. - 翻译: 分支 cyj 上有一些更改还没有被合并到当前分支 main 中。
如果您确定要删除它,请 git branch -D cyj 强制删除
5. 显示所有分支的提交历史
- git log --oneline --graph --all
6. 检查本地分支与远程分支的关联情况
- git branch -vv
7. 将本地分支与远程分支关联
- 切换到本地分支 cyj
- 设置与远程分支的关联:git push -u origin cyj
- 验证关联:git branch -vv
五、本地Git分支中文件的增删查(本地创建,暂存,提交,推送到云仓库)
1. 查看本地 cyj 分支中的所有文件(包括 提交的文件+未提交的文件+未暂存的文件):ls
2. 查看本地 cyj 分支中的 未提交的文件 + 未暂存的文件:git status
- 翻译:当前处于 cyj 分支。当前分支 cyj 与远程分支 origin/cyj 同步。
列出未被 Git 跟踪的文件。可以使用 git add 命令将未跟踪的文件添加到 Git暂存区中,以便于提交。
列出了两个未被跟踪的文件:cyj.txt 和 main.txt。 - 不添加到 Git暂存区的话,cyj.txt 和 main.txt 就只是在本地文件夹(工作区)中存在而已,与Git无关
3. 暂存区中有两个文件cyj.txt和main.txt,指定只有cyj.txt提交到cyj分支下
- 切换到 cyj 分支
- 使用 git reset main.txt 命令将 main.txt 移出暂存区
- 提交暂存区全部文件,git commit -m “日志20240927-1”
- 在 Git 中,暂存区在所有分支间是共享的,提交时也只能提交暂存区全部文件
4. 将cyj分支的某一文件 移动到main分支
- 在移动文件之前,确保 cyj 分支中的更改已被提交
- 切换到目标分支 main
- git checkout cyj – path/to/your/file
- 在main分支上提交更改
5. 将cyj分支的所有文件 复制(合并)到main分支
- 在复制文件之前,确保 cyj 分支中的更改已被提交
- 切换到目标分支 main
- git merge cyj
- 在main分支上提交更改
6. cyj 分支中删除文件
- 切换到 cyj 分支
- 删除文件 git rm room.txt
- 更新删除文件的状态 git add -u
- 提交更改和日志 git commit -m “我删除了文件room.txt”
7. 本地测试折腾了一番,分别推送到云分支
六、正常一个文件夹只有一个git分支
所以删除当前文件夹的cyj分支,当前文件夹改名。
新建文件夹,克隆仓库,创建cyj分支,连接仓库的cyj分支。
新建文件夹,克隆仓库,创建lhy分支,连接仓库的lhy分支。
- 分支main:本地与云连着呢
- 分支cyj:本地与云连接上了
- 分支lhy:本地与云连接上了
七、Gitee分支管理
1. 使用命令查看分支:git branch -r
2. 在图形化页面上操作
相关文章:

【Gitee自动化测试4】本地Git分支的增删查,本地Git分支中文件的增删查,本地文件的暂存/提交,本地分支的推送
一、流程 本地创建分支,设定连接什么云分支本地创建文件,暂存、提交–>本地分支本地分支推送所有修改–>云仓库 二、分支概念 在版本回退里,每次提交,git都把它们串成一条时间线,这条时间线可以理解为是一个分…...

vue-baidu-map的基本使用
前言 公司项目需求引入百度地图,由于给的时间比较短,所以就用了已经封装好了的vue-baidu-map 一、vue-baidu-map是什么? vue-baidu-map是基于vue.js封装的百度地图组件(官方文档) 二、使用步骤 1.下载插件 //我下载的版本 npm install …...

策略路由控制选路
🐣个人主页 可惜已不在 🐤这篇在这个专栏 华为_可惜已不在的博客-CSDN博客 🐥有用的话就留下一个三连吧😼 目录 一、 实验拓扑 二、 实验简述 三、 实验配置 配置路由信息 配置控制选路 四、 实验验证 一、 实验…...
【数据结构和算法实践-排序-快速排序】
数据结构和算法实践-排序-归并排序 题目My Thought代码示例JAVA-8 题目 排序 My Thought 然后再进行递归,递归要注意两个方面: 一、自我调用 二、终止条件:即函数边界 注意点:树、递归* 代码示例 JAVA-8 public class QuickSo…...
测试面试题:请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试
单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码集成测试:通过测试发现与模块接口有关的问题系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合…...

回归预测合集|基于灰狼优化21个机器学习和深度学习的数据回归预测Matlab程序 多特征输入单输出
回归预测合集|基于灰狼优化21个机器学习和深度学习的数据回归预测Matlab程序 多特征输入单输出 文章目录 一、清单二、实验结果三、核心代码四、代码获取五、总结 一、清单 基于灰狼优化BP神经网络的数据预测Matlab程序GWO–BP 基于灰狼优化卷积神经网络的数据预测Matlab程序G…...
html/css怎么禁用浏览器自动填写
<input type"text" name"username" autocomplete"off"> <input type"password" name"password" autocomplete"new-password">或者vue: <el-input type"text" v-model"…...

信息安全工程师(22)密码学网络安全应用
前言 密码学在网络安全中的应用极为广泛且深入,它通过多种技术手段确保数据的机密性、完整性和真实性。 一、数据加密 对称加密: 定义:使用相同的密钥进行加密和解密的过程。特点:加密和解密速度快,适用于大数据量的加…...
算法打卡:第十一章 图论part08
今日收获:拓扑排序,dijkstra算法 算法讲解部分均来源于代码随想录 1. 拓扑排序 基础知识: (1)应用场景:给出有向图,将有向图转换为线性的排序就叫拓扑排序(如果图中有环则存在循…...

2024年Gartner主存储平台魔力象限报告 | 华为从领导者象限滑落到挑战者象限
魔力象限报告对比 本周Gartner发布了2024年主存储平台魔力象限报告,主存储用户正在采用平台原生服务功能来实现混合 IT 运营。I&O 领导者应利用这项研究来为任务关键型应用程序规划和执行现代且有弹性的存储基础设施平台。 本次报告中共有10家厂商入选…...

[Python学习日记-31] Python 中的函数(上)
[Python学习日记-31] Python 中的函数(上) 简介 语法定义 函数的参数 简介 引子: 你是某公司的一个高级程序员,现在老板让你写一个监控程序,需要24小时全年无休的监控公司网站服务器的系统状况,当 CPU、…...

工作笔记【四】
对于这种,样式一样,但是图片和字体颜色不一样,动态渲染。 代码: <template><view class"page"><view class"rows" v-for"item in data"><view class"v0"><v…...

ArcEngine C#二次开发图层处理:根据属性分割图层(Split)
需求:仅根据某一属性,分割图层,并以属性值命名图层名称保存。 众所周知,ArcGIS ArcToolbox中通过Split可以实现图形分割一个图层,以属性值命名图层,如下图所示。 本文仅仅依据属性值,将一个shp…...

【二叉平衡搜索树】Treap
前置 本篇是平衡树-treap的补充学习笔记。 Treap - 树堆 学习基础:适合一定基础的:比如,实现了经典二叉搜索树(常用的几个函数写过), 和二叉堆(数组的上浮下沉会写吗?)&a…...
Spring Boot 应用Kafka讲解和案例示范
Kafka 是一款高吞吐量、低延迟的分布式消息系统。本文将详细介绍如何在 Spring Boot 项目中使用 Kafka 进行消息接收与消费,并结合幂等和重试机制,确保消息消费的可靠性和系统的扩展性。我们将以电商交易系统为案例进行深入解析。 1. 系统架构概览 在电…...

以到手价为核心的品牌电商价格监测
在当今竞争激烈的电商时代,品牌的价格监测至关重要。传统的页面价监测已无法满足品牌对渠道管控的需求,而到手价监测则成为品牌控价的关键所在。 力维网络,作为深耕数据监测服务多年的专业机构,拥有自主开发的数据监测系统&#…...

Android中使用RecyclerView制作横向轮播列表及索引点
在Android开发中,RecyclerView是一个非常强大的组件,用于展示列表数据。它不仅支持垂直滚动,还能通过配置不同的LayoutManager实现横向滚动,非常适合用于制作轮播图或横向列表。本文将详细介绍如何使用RecyclerView在Android应用中…...

Llama 3.1 技术研究报告-2
3.3 基础设施、扩展性和效率 我们描述了⽀持Llama 3 405B⼤规模预训练的硬件和基础设施,并讨论了⼏项优化措施,这些措施提⾼了训练效率。 3.3.1 训练基础设施 Llama 1和2模型在Meta的AI研究超级集群(Lee和Sengupta,2022&#x…...
【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer
RNN网络的发展历史与演化趋势 RNN(Recurrent Neural Network,循环神经网络)是一类用于处理序列数据的神经网络,特别擅长捕捉数据的时间或上下文依赖性。在其发展的过程中,不断出现各种改进和变体,以解决不…...

C++学习9.27
1、顺序表、栈、队列都更改成模板类 (1)顺序表 #include <iostream> #include <cstring>using namespace std;template <typename T1,typename T2,typename T3> class My_string { private:T1 *ptr; //指向字符数组的指针T2…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...