当前位置: 首页 > news >正文

Git工作中常用命令

模拟一个git完整命令流程

有一个名为 example.txt 的文本文件

Hello, this is some text.

1、做一些修改并查看文件的差异:

# 修改 example.txt 文件
echo "Hello, this is some updated text." > example.txt

查看文件的差异

git diff

git diff 命令将显示你修改的内容,类似于:

diff --git a/example.txt b/example.txt
index 08f1df5..82ea587 100644
--- a/example.txt
+++ b/example.txt
@@ -1 +1 @@
-Hello, this is some text.
+Hello, this is some updated text.

2、暂存修改并再次查看差异

暂存修改单个文件
git add example.txt`暂存修改全部文件命令
git add ./

查看暂存区与最新提交(HEAD)之间的差异

# 查看暂存区与最新提交(HEAD)之间的差异
git diff --staged

显示如下内容:

diff --git a/example.txt b/example.txt
index 08f1df5..82ea587 100644
--- a/example.txt
+++ b/example.txt
@@ -1 +1 @@
-Hello, this is some text.
+Hello, this is some updated text.

3、提交修改并查看提交历史

# 提交修改
git commit -m "Update example.txt with new text"# 查看提交历史
git log --oneline

显示

cfc3e85 (HEAD -> main) Update example.txt with new text
6d68a12 Initial commit

4、git revert 撤回提交

使用 git revert 撤销最新的提交,需要vi编辑撤回的注释

# 使用 git revert 撤销最新的提交
git revert HEAD# 确认撤销后的提交信息,按 i 进入编辑模式,输入撤销提交的注释信息,然后按 Esc,输入 :wq 保存退出。

Git 将创建一个新的提交,该提交会撤销之前的提交。你可以在 git revert 后编辑提交信息,如果不需要更改,默认会使用撤销提交的注释信息。

查看撤销提交后的提交历史和文件内容:

# 查看提交历史
git log --oneline

显示:

81c40b1 (HEAD -> main) Revert "Update example.txt with new text"
cfc3e85 Update example.txt with new text
6d68a12 Initial commit

查看文件

# 查看 example.txt 文件内容
cat example.txt

显示文件已经撤回

Hello, this is some text.

还可以使用 git reset 命令进行撤回,详情介绍在5

5、commit后不需要撤回,直接push

Git push

如果要撤回push的代码

撤销上次提交
git revert HEAD 
撤回指定的hash)
git revert e3fa6b3  

撤销后,需要重新git push

# 查看提交历史
git log --oneline

查看提交历史,可以看到撤回的记录

6、git reset 撤回销命令

git reset 是不会保留提交历史记录的,git revert是有完整记录的

1、保留修改内容在暂存区

回退到哪个hash
git reset --soft  hash值
git reset --soft 模式下,
执行 git reset --soft HEAD^ 
可以撤销上一个 commit,并保留修改内容在暂存区(staging area)。
这意味着之前的 commit 中的修改将回到暂存区,你可以修改这些代码并重新提交,将修改后的代码作为一个新的 commit 提交

2、不保留修改内容在暂存区(git reset 或 git reset --mixed)

git reset 或 git reset --mixed 模式下,
执行 git reset HEAD^ 或者简写成 git reset HEAD~1,
可以撤销上一个 commit,并将更改内容退回到工作目录(working directory),不保留在暂存区。这意味着之前的 commit 中的修改将回到工作目录,并不在暂存区,你可以对代码进行修改,并重新选择要暂存的更改,然后使用 git add 将更改添加到暂存区,再次进行 commit。

选择建议:

如果你需要撤销已经推送到远程仓库的提交,并且希望保持仓库的一致性,应该使用 git revert。

如果你需要撤销未推送的提交或者回退到之前的状态,并且明确了操作的影响,可以使用 git reset。

但请注意,git reset 可能会修改历史记录,所以要谨慎操作。

7、git merge

如果确保没有冲突,可以直接使用该命令merge最新代码到对应分支
**注意:**如果有冲突或冲突过多,建议使用可视化文件对比idea工具,进行merge,并在可视化文件对比中进行冲突的解决。

相关文章:

Git工作中常用命令

模拟一个git完整命令流程 有一个名为 example.txt 的文本文件 Hello, this is some text.1、做一些修改并查看文件的差异: # 修改 example.txt 文件 echo "Hello, this is some updated text." > example.txt查看文件的差异 git diffgit diff 命令…...

【电路效应】信号处理和通信系统模型中的模拟电路效应研究(SimulinkMatlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、Simulink仿真实现 💥1 概述 在信号处理和通信系统模型中,模拟电路效应研究是指考虑到实际电路的特性对信号进行建模和分析的过程。模拟电路效应…...

Spring 的元注解

一、元注解介绍 1.1.源码引入 1.2.元注解介绍 从上面的图片可知,Spring 有四个【负责注解其他注解】的元注解,分别是: Target:标识该注解可以用于标注哪些程序元素,比如类、方法、字段等。 Retention:标…...

【前缀和】238. 除自身以外数组的乘积

238. 除自身以外数组的乘积 解题思路 前缀与后缀的思路对于给定索引i,将它左边的所有数字乘积乘以右边所有数字的乘积初始化两个数组L R计算L[i] L[i - 1] * nums[i - 1] 也就是左侧所有数字的乘积计算R[i] R[i 1] * nums[i 1] 也就是右侧所有数字的成绩计算L…...

【Java中间件】RocketMQ

RocketMQ 一、MQ概述 Message Queue,是一种提供消息队列服务的中间件。提供了消息生产、存储、消费全过程API的软件系统。 MQ的作用 限流削峰:当用户发送超量请求时,将请求暂存,以便后期慢慢处理。如果不使用MQ暂存直接请求到…...

Megatron-LM、NVIDIA NeMo、MegaMolBART 、model_optim_rng.pt 文件是什么?

本文涉及以下几个概念,分别是: Megatron和Megatron-LM-v1.1.5-3D_parallelism NVIDIA NeMo Megatron和Megatron-LM-v1.1.5-3D_parallelism是什么? Megatron是由NVIDIA开发的一种用于训练大规模语言模型的开源框架。它旨在提供高效的分布式…...

2023年信息系统项目管理师如何报名?老司机告诉你

信息系统项目管理师是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目之一,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资…...

linux ubuntu系统 命令备忘

一、安装软件包的命令 1、验证安装包是否安装 dpkg -s <软件包名> 2、从软件源服务器获取最新的软件信息并缓存到本地 apt update 3、从本地仓库中对比系统中所有已安装的软件&#xff0c;如果有新版本的话则进行升级 apt upgrade 4、列出本地仓库中所有的软件包名…...

我的第一个flutter项目(Android Webview)

前言&#xff1a;flutter开发环境搭建Flutter的开发环境搭建-图解_☆七年的博客-CSDN博客 第一个flutter简单项目&#xff0c;内容是一个主界面&#xff0c;其中&#xff1a; 1.内容点击数字自增 2.跳转一个空页&#xff0c; 3.跳转一个WebView界面 其中涉及添加主键&#xf…...

微信机器人搭建详细教程

确保已安装Python和pip。 在D盘上创建名为wxbot的文件夹&#xff0c;并将你的Python机器人项目文件放在这个目录中。 在D盘的wxbot文件夹中打开命令行工具&#xff0c;并创建一个新的Python虚拟环境&#xff08;可选&#xff09;&#xff1a; python -m venv venv激活虚拟环…...

opengauss安装

opengauss安装 系统环境 Redhat版本&#xff1a;redhat7.6 虚拟机ip&#xff1a;192.168.5.144 Gauss版本&#xff1a;openGauss-5.0.0-CentOS-64bit-all.tar.gz 企业版 一&#xff0e;准备软硬件环境 1.1 安装依赖包 yum -y install bzip2 python3 libaio-devel flex bis…...

什么是SVM算法?硬间隔和软间隔的分类问题

SVM全称是supported vector machine(支持向量机)&#xff0c;即寻找到一个超平面使样本分成两类&#xff0c;并且间隔最大。 SVM能够执行线性或⾮线性分类、回归&#xff0c;甚至是异常值检测任务。它是机器学习领域最受欢迎的模型之一。SVM特别适用于中小型复杂数据集的分类。…...

Normalization(BN and LN) in NN

Batch Normalization 称为批标准化。批是指一批数据&#xff0c;通常为 mini-batch&#xff1b;标准化是处理后的数据服从 N ( 0 , 1 ) N(0,1) N(0,1) 的正态分布。在训练过程中&#xff0c;数据需要经过多层的网络&#xff0c;如果数据在前向传播的过程中&#xff0c;尺度发…...

opencv-22 图像几何变换01-缩放-cv2.resize()(图像增强,图像变形,图像拼接)

什么是几何变换&#xff1f; 几何变换是计算机图形学中的一种图像处理技术&#xff0c;用于对图像进行空间上的变换&#xff0c;而不改变图像的内容。这些变换可以通过对图像中的像素位置进行调整来实现。 常见的几何变换包括&#xff1a; 平移&#xff08;Translation&#x…...

python机器学习(五)逻辑回归、决策边界、代价函数、梯度下降法实现线性和非线性逻辑回归

线性回归所解决的问题是把数据集的特征传入到模型中&#xff0c;预测一个值使得误差最小&#xff0c;预测值无限接近于真实值。比如把房子的其他特征传入到模型中&#xff0c;预测出房价&#xff0c; 房价是一系列连续的数值&#xff0c;线性回归解决的是有监督的学习。有很多场…...

聊聊Linq中.AsEnumerable(), AsQueryable() ,.ToList(),的区别和用法

聊聊Linq中.AsEnumerable(), AsQueryable() ,.ToList(),的区别和用法 当使用LINQ查询数据时&#xff0c;我们常常会面临选择使用.AsEnumerable(), .AsQueryable(), 和 .ToList()方法的情况。这些方法在使用时有不同的效果和影响&#xff0c;需要根据具体场景来选择合适的方法。…...

【机器学习】机器学习中的“本体”概念

一、说明 在机器学习中&#xff0c;本体越来越多地用于提供基于相似性分析和场景知识的 ML 模型。 在传统的基于标签的定义中&#xff0c;对象往往是孤立的&#xff0c;可扩展性差&#xff0c;存在重复的可能性&#xff0c;对象之间的关系无法体现。在基于本体的定义中&#xf…...

ChatGPT是否能够进行对话中的参考和指代解析?

ChatGPT在对话中的参考和指代解析方面有一定的潜力&#xff0c;但需要针对具体任务和上下文进行定制和优化。参考和指代解析是指理解对话中的代词、名词短语等表达方式所指代的具体对象或信息。在对话中&#xff0c;参考和指代解析对于理解上下文、保持对话连贯性和生成准确回复…...

网红项目AutoGPT源码内幕及综合案例实战(三)

AutoGPT on LangChain PromptGenerator等源码解析 本节阅读AutoGPT 的prompt_generator.py源代码,其中定义了一个PromptGenerator类和一个get_prompt函数,用于生成一个提示词信息。PromptGenerator类提供了添加约束、命令、资源和性能评估等内容的方法,_generate_numbered_l…...

第八章:list类

系列文章目录 文章目录 系列文章目录前言list的介绍及使用list的介绍list的使用list的构造函数list的迭代器list的容量list的成员访问list的增删改查 list与vector的对比总结 前言 list是STL的一种链表类&#xff0c;可以在常数范围内在任意位置进行插入和删除的序列式容器。 …...

【网络安全干货】黑客内网渗透零基础入门,超详细基础知识手把手教学

0x01 内网概述 内网也指局域网&#xff08;Local Area Network&#xff0c;LAN&#xff09;是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的历程安排、电子邮件和传真通信服务等功能。 内…...

3ds Max模型优化指南:用Attach命令合并物体时如何避免顶点爆炸(2024版)

3ds Max模型优化指南&#xff1a;用Attach命令合并物体时如何避免顶点爆炸&#xff08;2024版&#xff09; 在影视和游戏制作流程中&#xff0c;模型拓扑的整洁度直接影响后续的UV展开、动画绑定和实时渲染效率。作为3ds Max用户最常用的建模命令之一&#xff0c;Attach看似简单…...

OpenClaw夜间任务方案:Qwen3.5-9B定时执行数据备份

OpenClaw夜间任务方案&#xff1a;Qwen3.5-9B定时执行数据备份 1. 为什么需要夜间自动化备份 作为一个长期被数据备份问题困扰的开发者&#xff0c;我经历过太多次硬盘损坏导致工作成果丢失的惨痛教训。手动备份不仅耗时耗力&#xff0c;还经常因为各种原因被搁置。直到发现O…...

OpenClaw镜像体验报告:千问3.5-9B云端性能实测

OpenClaw镜像体验报告&#xff1a;千问3.5-9B云端性能实测 1. 为什么选择云端体验OpenClaw 作为一个长期关注AI自动化工具的技术爱好者&#xff0c;我一直在寻找一个既安全又高效的本地AI助手方案。OpenClaw的出现让我眼前一亮——它能让AI像人类一样操作我的电脑&#xff0c…...

创意随笔:智能转录便携终端

创意随笔&#xff5c;智能转录便携终端 项目构想 核心亮点 以独立麦克风拾音为核心入口&#xff0c;实现全链路闭环实时翻译 从收音、ASR 识别、翻译、TTS 合成到语音播放/耳机输出&#xff0c;全程不依赖手机或电脑算力&#xff0c;自成一套完整翻译系统&#xff0c;真正做到端…...

all-MiniLM-L6-v2详细步骤:Ollama模型量化部署(Q4_K_M)显存再降40%

all-MiniLM-L6-v2详细步骤&#xff1a;Ollama模型量化部署&#xff08;Q4_K_M&#xff09;显存再降40% 在资源受限的环境中部署高效的句子嵌入模型一直是开发者的痛点。all-MiniLM-L6-v2作为轻量级语义表示模型&#xff0c;虽然已经比标准BERT模型小了80%以上&#xff0c;但在…...

Python脚本:一键将图片按顺序合成PDF

&#x1f4cc; 前言在日常工作和学习中&#xff0c;我们经常需要将多张图片&#xff08;如扫描件、截图、照片&#xff09;合并成一个PDF文件。虽然有很多现成的工具可以实现&#xff0c;但用Python自己写一个脚本不仅灵活&#xff0c;还能避免上传到第三方网站带来的隐私风险。…...

SEO_中小企业如何低成本做好SEO?实用方案分享

为什么中小企业需要关注SEO 在当今数字化经济时代&#xff0c;中小企业如果想要在竞争激烈的市场中脱颖而出&#xff0c;关注SEO&#xff08;搜索引擎优化&#xff09;是必不可少的。SEO不仅能够提升网站的搜索引擎排名&#xff0c;还能有效带来更多的潜在客户。许多中小企业在…...

嵌入式软件开发中的柔性数组机制

在嵌入式系统开发中,内存资源始终是最核心的约束之一。无论是微控制器还是低功耗控制终端,程序设计都必须在有限的存储空间中实现功能、效率与可靠性的平衡。因此,开发者不仅需要关注算法逻辑,还必须重视数据结构对内存的占用方式。 在这种背景下,柔性数组成为嵌入式软件…...

当单片机玩起音乐魔法

基于单片机的音乐律动播放器音乐盒串口远程控制&#xff08;LCD1286 1100056-基于单片机的音乐律动播放器音乐盒串口远程控制&#xff08;LCD12864、六首音乐、PWM调频、音频编码、源代码、仿真、流程图、物料清单、Proteus&#xff09; 功能描述&#xff1a;基于单片机的音乐律…...