本地仓库管理之当前分支内的操作
以刚搭建好的git仓库为例,刚搭建完的仓库只有master分支,使用git branch查看当前的分支情况。
elf@ubuntu:~/work/example/hello$ git branch
*所在分支为当前分支,即master分支

当前分支进行源码修改时简单流程图如下:

在当前分支上进行源码修改前,需要先查看当前分支工作区是否干净,干净则进行修改工作。如果之前在分支上做过修改且没有提交,需要进行清除,因此也需要养成改完及时提交的习惯。
使用git status查看,该分支内没有未提交的内容,工作区是干净的,可以直接进行源码修改
elf@ubuntu:~/work/example/hello$ git status
git文件的添加、删除及提交
创建hello1.c,删除hello.c,此时是在工作区进行修改,并未提交到暂存区,使用git status查看工作区状态:

从状态中可以看到当前分支,未提交的更改为hello.c且前面有一个delete 说明,hello.c需要在git跟踪中被删除;还可以看到未被跟踪的文件为hello1.c,该文件是新添加的,若需要添加到跟踪中,需要使用git add添加 ,操作如下
elf@ubuntu:~/work/example/hello$ git rm hello.celf@ubuntu:~/work/example/hello$ git add hello1.c

通过状态信息可看到,修改提交到暂存区,如果该修改最终要使用,需要提交版本
elf@ubuntu:~/work/example/hello$ git commit -m "delete hello.c;add hello1.c"
记录的查看
如果查看提交的修改,可以使用以下指令:

git show查看最新一次提交的具体修改内容:

git show --stat查看最新一次提交修改过的文件:

git show [commitid]查看某次提交的具体修改内容:

git show [commitid] --stat查看某次提交修改过的文件:

commit回退
commit回退主要使用git reset命令,根据此命令后面参数的不一样,撤回的效果不通。
执行git reset --hard [commitid],可以回退到指定的commit:

使用--hard参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。当然也可以使用此命令,找到最新的commit号通过此命令再切换回来。
工作区的修改-----未提交到暂存区
在工作区修改过程中,如果未提交到暂存区,需要放弃文件的修改可以如下操作。
如下图工作区的hello1.c做了修改,但未提交到暂存区:

此时如果放弃修改,可以使用git checkout -- [filename]
elf@ubuntu:~/work/example/hello$ git checkout hello1.c

此外清除所有未提交的修改,可以使用git checkout。
工作区的修改----已提交到暂存区
在工作区修改过程中,如果已提交到暂存区,需要放弃文件的修改可以如下操作。
如下图工作区的hello1.c做了修改,且已经提交到暂存区:

撤回提交到暂存区,需要执行git reset HEAD -- [filename],文件回到工作区可以重新更改再提交
elf@ubuntu:~/work/example/hello$ git reset HEAD -- hello1.c
git的patch打入打出
简单来说patch中存储的是你对代码的修改。在git中我们常用git format-patch和git am命令生成patch和打patch,用此方法获得的patch包含commit里提交的code修改和commit信息,可以获取任意两个commit之间的patch。
生成patch常用到的指令如下,其中<r1> <r2>代表具体commit号

打入patch常用到的指令如下,xxx.patch表示patch的名称:

相关文章:
本地仓库管理之当前分支内的操作
以刚搭建好的git仓库为例,刚搭建完的仓库只有master分支,使用git branch查看当前的分支情况。 elfubuntu:~/work/example/hello$ git branch *所在分支为当前分支,即master分支 当前分支进行源码修改时简单流程图如下: 在当前分…...
《内网穿透:网络拓展与安全防护的平衡艺术》
一、引言:开启内网穿透的大门 在当今数字化浪潮席卷全球的时代,网络已成为人们生活和工作中不可或缺的一部分。我们日常使用的网络,如同一个庞大而复杂的生态系统,其中内网和外网犹如两个相互关联却又有所区别的世界。 想象一下…...
【python写个可以运行的2048小游戏】
写一个完整的2048小游戏在Python中是一个相对复杂的任务,因为它涉及到用户界面、事件处理、游戏逻辑等多个方面。为了简化这个过程,我们可以使用Python的图形库,比如pygame。下面是一个简单的2048游戏的实现。 首先,确保你已经安…...
【Flink系列】9. Flink容错机制
9. 容错机制 在Flink中,有一套完整的容错机制来保证故障后的恢复,其中最重要的就是检查点。 9.1 检查点(Checkpoint) 9.1.1 检查点的保存 1)周期性的触发保存 “随时存档”确实恢复起来方便,可是需要我…...
DETR论文阅读
1. 动机 传统的目标检测任务需要大量的人工先验知识,例如预定义的先验anchor,NMS后处理策略等。这些人工先验知识引入了很多人为因素,且较难处理。如果能够端到端到直接生成目标检测结果,将会使问题变得很优雅。 2. 主要贡献 提…...
关于vite+vue3+ts项目中env.d.ts 文件详解
env.d.ts 文件是 Vite 项目中用于定义全局类型声明的 TypeScript 文件。它帮助开发者向 TypeScript提供全局的类型提示,特别是在使用一些特定于 Vite 的功能时(如 import.meta.env)。以下是详细讲解及代码示例 文章目录 **1. env.d.ts 文件的…...
如何优化Elasticsearch大文档查询?
记录一次业务复杂场景下DSL优化的过程 背景 B端商城业务有一个场景就是客户可见的产品列表是需要N多闸口及各种其它逻辑组合过滤的,各种闸口数据及产品数据都是存储在ES的(有的是独立索引,有的是作为产品属性存储在产品文档上)。 在实际使用的过程中&a…...
Kotlin Bytedeco OpenCV 图像图像54 透视变换 图像矫正
Kotlin Bytedeco OpenCV 图像图像54 透视变换 图像矫正 1 添加依赖2 测试代码3 测试结果 在OpenCV中,仿射变换(Affine Transformation)和透视变换(Perspective Transformation)是两种常用的图像几何变换方法。 变换方…...
Linux中DataX使用第一期
简介 DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databen…...
[Qt]事件-鼠标事件、键盘事件、定时器事件、窗口改变事件、事件分发器与事件过滤器
目录 前言:Qt与操作系统的关系 一、Qt事件 1.事件介绍 2.事件的表现形式 常见的Qt事件: 常见的事件描述: 3.事件的处理方式 处理鼠标进入和离开事件案例 控件添加到对象树底层原理 二、鼠标事件 1.鼠标按下和释放事件(单击&#x…...
关于机器学习的一份总结
在之前的文章中分别有详细的关于机器学习中某一学习算法的介绍,但缺少一个总体关于机器学习的总结,所以在这篇文中就是关于机器学习的一份总结。 在最近的日子中,人工智能日益火热起来,而机器学习是其中举足轻重的一部分…...
推荐一个开源的轻量级任务调度器!TaskScheduler!
大家好,我是麦鸽。 这次推荐一款轻量级的嵌入式任务调度器,目前已经有1.4K的star,这个项目比较轻量化,只有5个源文件,可以作为学习的一个开源项目。 核心文件 项目概述: 这是一个轻量级的协作式多任务处理&…...
【18】Word:明华中学-儿童医保❗
目录 题目 NO2 NO3 NO4 NO5 NO6 NO7 NO8 NO9 题目 NO2 布局→页面设置对话框→纸张方向:横向→纸张大小:A3 ;页面设置对话框:直接输入纸张大小的宽度和高度即可→页面设置对话框:上下左右边距→版式&…...
如何用selenium来链接并打开比特浏览器进行自动化操作(1)
前言 本文是该专栏的第76篇,后面会持续分享python爬虫干货知识,记得关注。 本文,笔者将基于“比特浏览器”,通过selenium来实现链接并打开比特浏览器,进行相关的“自动化”操作。 值得一提的是,在本专栏之前,笔者有详细介绍过“使用selenium或者pyppeteer(puppeteer)…...
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
项目介绍 基于springbootthymeleafRedis仿知乎网站问答项目源码,可以作为毕业设计项目参考学习 按照需要一定动手能力 发文章,发视频,发想法,提问回答,注册登录 开发环境 使用技术:springbootthymeleafRe…...
读spring官方文档的一些关键知识点介绍
目录 bean definitionBeanPostProcessorBeanFactoryPostProcessorComponent and Further Stereotype AnnotationsAOP Concepts bean definition https://docs.spring.io/spring-framework/docs/5.1.3.RELEASE/spring-framework-reference/core.html#beans-child-bean-definiti…...
2024年AI与大数据技术趋势洞察:跨领域创新与社会变革
目录 引言 技术洞察 1. 大模型技术的创新与开源推动 2. AI Agent 智能体平台技术 3. 多模态技术的兴起:跨领域应用的新风口 4. 强化学习与推荐系统:智能化决策的底层驱动 5. 开源工具与平台的快速发展:赋能技术创新 6. 技术安全与伦理:AI技术的双刃剑 7. 跨领域技…...
ThinkPhp项目解决静态资源请求的跨域问题的解决思路
背景:我在前端使用vue语言开发的,请求的后端是用ThinkPhp项目开发的。我vue项目里的请求php接口,自带header参数的跨域问题通过网上查询到的server端配置方法已经解决了。我使用的 是中间件的配置方法: <?php//admin 项目 配…...
mybatis的多对一、一对多的用法
目录 1、使用VO聚合对象(可以解决这两种情况) 多对一: 一对多: 2、非聚合的多对一做法: 3、非聚合的一对多做法: 1、使用VO聚合对象(可以解决这两种情况) 当我需要多对一、一对…...
消息队列实战指南:三大MQ 与 Kafka 适用场景全解析
前言:在当今数字化时代,分布式系统和大数据处理变得愈发普遍,消息队列作为其中的关键组件,承担着系统解耦、异步通信、流量削峰等重要职责。ActiveMQ、RabbitMQ、RocketMQ 和 Kafka 作为市场上极具代表性的消息队列产品࿰…...
宝塔面板7.7.0免费解锁专业版监控报表插件(附详细操作步骤)
宝塔面板7.7.0专业版监控报表插件深度解锁指南 在网站运维领域,数据可视化与实时监控已成为高效管理的标配。宝塔面板作为国内最受欢迎的服务器管理工具之一,其专业版的网站监控报表插件能提供精准的访问分析、蜘蛛抓取记录和流量统计功能。对于预算有限…...
哔哩下载姬DownKyi完整使用教程:从零掌握B站视频高效下载与管理
哔哩下载姬DownKyi完整使用教程:从零掌握B站视频高效下载与管理 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印…...
AI原生研发的“冰山协议”:SITS2026首次公开未写入文档的8项隐性契约(含法律、运维、伦理三维度合规 checklist)
第一章:SITS2026专家解读:AI原生研发的核心挑战 2026奇点智能技术大会(https://ml-summit.org) AI原生研发并非简单地将大模型API嵌入传统系统,而是重构软件生命周期的范式——从需求建模、架构设计、代码生成到验证运维,全部以L…...
解决标准工程库中遇到少了STM32F1 固件包
keil中编译后出现下面错误: ../Core/Inc/stm32f1xx_hal_conf.h(338): error: #5: cannot open source input file "stm32f1xx_hal_uart.h": No such file or directory 整个项目都找不到 stm32f1xx_hal_uart.h 这个文件。 要么 UART 的 HAL 驱动文件没有…...
4步实战精通微信聊天记录解密技术
4步实战精通微信聊天记录解密技术 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 微信作为中国最主流的即时通讯工具,每天承载着数十亿条重要对话,但当你需要迁移设备、恢复误删记…...
AAV三质粒比例优化指南|教你如何选择合适的GMP级PEI转染试剂【曼博解析】
优化AAV三质粒系统比例必看!教你挑选合适的GMP级PEI转染试剂摘要:本文从三质粒系统比例与挑选GMP级转染试剂的维度,分享如何优化AAV病毒包装工艺。关键词:PEI转染试剂, AAV病毒包装,AAV三质粒比例,GMP级转染试剂,质粒转染,DNA转染…...
Elasticsearch分词查询实战:match_phrase与term的5个关键区别(附真实案例)
Elasticsearch分词查询实战:match_phrase与term的5个关键区别(附真实案例) 在构建搜索功能时,Elasticsearch的分词查询是开发者必须掌握的核心技能。面对match_phrase和term这两种看似相似实则差异显著的查询方式,许多…...
Linux环境下Chrony高精度时间同步实战指南
1. 为什么需要高精度时间同步? 想象一下这样的场景:你管理的服务器集群在处理金融交易时,因为各节点时间偏差超过50毫秒,导致交易顺序错乱引发数据不一致;或者分布式数据库因为时钟不同步出现写入冲突。这些问题的根源…...
MBD_实战篇_Stateflow状态机设计模式解析
1. Stateflow在汽车电子控制中的核心价值 第一次接触Stateflow时,我正负责某新能源车型的VCU开发。当时需要实现复杂的驾驶模式切换逻辑,传统的手写代码方式让团队陷入"if-else地狱"。直到一位资深工程师扔给我一句:"试试Stat…...
万字拆解 LLM 运行机制:Token、上下文与采样参数影
springboot自动配置 自动配置了大量组件,配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类ÿ…...



