git基础命令(二)
目录
- git revert 撤消上一次提交的更改但是会创建一个新的提交来撤消该提交所做的更改
- git show 显示提交详细信息
- git mv 重命名文件
- git rm 从工作树和索引中移除文件
- git clean 从工作树中移除未跟踪文件
- git checkout 将文件恢复到工作树
- git reset 撤销更改、移动 HEAD 指针以及重置暂存区
- git reset 基本用法:
- git reset <commit>
- git reset --hard <commit> 回到特定提交但本次提交的内容会全部丢失
- git reset --soft <commit> 回到特定提交,本次提交的内容会全部恢复到add之前的状态
- git reset 示例说明:
- git add -u 仅将修改和删除的文件添加到索引
- git init 在当前目录下创建一个新的 Git 仓库
- 参考
用于知识记录。后续有新的的内容,例子,将持续更新本文档。
git revert 撤消上一次提交的更改但是会创建一个新的提交来撤消该提交所做的更改
git revert HEAD
Git revert
命令将一个提交作为参数,
撤消上一次提交的更改但是会创建一个新的提交来撤消该提交所做的更改。
git show 显示提交详细信息
$ git show <commit-id>
commit-id
可以通过 git log
获取或命令参数中的HEAD
git mv 重命名文件
重命名文件; 即使文件在暂存区即已经git add
了也可以修改
$ git mv <oldfilename> <newfilename>
git rm 从工作树和索引中移除文件
$ git rm <file>
git clean 从工作树中移除未跟踪文件
$ git clean
添加-n
选项将只显示将要移除的文件。添加-f选项实际上会移除文件。
在默认的情况下,不会移除.gitignore
配置文件下列出的文件。但是,如果您指定-x选项,.gitignore
下列出的文件将从工作树中移除。
git checkout 将文件恢复到工作树
即把文件从已经add的状态恢复成add前
git checkout -- <file>
git checkout -- .
把所有git add
的文件都恢复到git add
前
git reset 撤销更改、移动 HEAD 指针以及重置暂存区
git reset
是 Git 中一个非常有用的命令,可以用来撤销更改、移动 HEAD 指针以及重置暂存区等操作。下面是 git reset 的详细用法和一些示例说明:
git reset 基本用法:
git reset
git reset <commit>
:将当前分支的HEAD
指针移动到指定的 <commit>
,并将暂存区重置为该 <commit>
的状态,但工作目录不受影响。
git reset --hard 回到特定提交但本次提交的内容会全部丢失
git reset --hard <commit>
:将当前分支的HEAD
指针、暂存区和工作目录都重置为指定的 <commit>
的状态。慎用,会丢失未提交的更改。
什么时候用这个?
比如你刚已经git add git commit到本地的内容,你想撤销这次的提交,并且这次提交的内容全都不要了,就用
git reset --hard HEAD
这样会回到你提交前本地最新的那笔提交。
如果你想回到过去的某笔特定的提交,获取这次提交的commit id
,且你本次提交的所有内容都不要了,就使用
git reset --hard commit-id
这样就能回到你想要的那笔提交了(当然这个指的是你本地的)
git reset --soft 回到特定提交,本次提交的内容会全部恢复到add之前的状态
git reset --soft <commit>
:将 HEAD
指针移动到指定的 <commit>
,但保留暂存区和工作目录不变。这样你可以重新提交之前的更改。
同理,不过这个会把你之前提交的内容全部恢复到工作树,就是你提交之前,add之前的状态。会保留你的文件。
git reset 示例说明:
- 撤销最后一次提交并保留更改:
git reset --soft HEAD~1
这个命令会将 HEAD
指针移动到倒数第二次提交,保留最后一次提交的更改在暂存区中,你可以修改后重新提交。
- 撤销最后一次提交并丢弃更改:
git reset --hard HEAD~1
这个命令会将 HEAD
指针移动到倒数第二次提交,并丢弃最后一次提交的更改,包括暂存区和工作目录中的更改。
- 将暂存区的更改移除暂存状态:
git reset HEAD <file>
这个命令会将指定文件 <file>
从暂存区中移除,但保留在工作目录中的更改。
- 将 HEAD 指针移动到特定的提交:
git reset --hard <commit_hash>
这个命令会将 HEAD 指针
移动到指定的 <commit_hash>
,并且重置暂存区和工作目录为该提交的状态。
注意事项:
- 使用
git reset
命令时要谨慎,因为它会改变仓库的状态,可能会导致数据丢失。 - 在进行
reset
操作之前,建议先使用git status
和git diff
等命令来查看当前的状态和更改,以免造成意外操作。
git add -u 仅将修改和删除的文件添加到索引
$ git add -u
此命令将仅注册已添加到索引的文件的更改。它不会暂存未跟踪的文件
git init 在当前目录下创建一个新的 Git 仓库
执行 $ git init
命令会在当前目录下创建一个新的 Git 仓库。具体来说,以下是$ git init
命令执行后可能发生的一些主要步骤:
- 初始化仓库:Git 会在当前目录下创建一个名为 .git 的子目录,这个目录包含了 Git 仓库的所有必要文件和子目录。
- 创建默认分支:Git 会创建一个默认的主分支,通常是
master
分支(在新版本的 Git 中可能是 main 分支),用于跟踪项目的主要开发进展。 - 创建初始提交:Git 会创建一个初始的提交(
commit
),表示仓库的初始状态。这个提交包含了当前目录下所有文件的快照。 - 设置配置:Git 会在
.git
目录中创建一个配置文件,用于存储仓库的配置信息,比如用户名、邮箱等。 - 完成初始化:一旦执行
$ git init
完成,当前目录就成为了一个 Git 仓库,你可以使用 Git 来进行版本控制、提交更改、创建分支等操作。
在执行完$ git init
后,你就可以开始使用 Git 来管理项目的版本控制了。记得在使用 Git 前,需要先配置用户信息,例如设置用户名和邮箱,以便 Git 能够正确记录提交信息。
参考
适合初学者的简单 Git 教程
相关文章:
git基础命令(二)
目录 git revert 撤消上一次提交的更改但是会创建一个新的提交来撤消该提交所做的更改git show 显示提交详细信息git mv 重命名文件git rm 从工作树和索引中移除文件git clean 从工作树中移除未跟踪文件git checkout 将文件恢复到工作树git reset 撤销更改、移动 HEAD 指针以及…...

从零开始学习typescript系列 1:typescript 基本了解之是什么,为什么,以及怎么用
初识ts 基本了解 设计者,实现者:微软发行时间:2012年10月1日GitHub:https://github.com/microsoft/TypeScriptts和js关系:ts是js的扩展,ts语法包含js ts是新语言吗? 不是,在js基…...

【数学建模】线性规划
针对未来可能的数学建模比赛内容,我对学习的内容做了一些调整,所以先跳过灰色关联分析和模糊综合评价的代码,今天先来了解一下运筹规划类——线性规划模型。 背景: 某数学建模游戏有三种题型,分别是A,B&am…...

MQTT 的 QoS 等级:QoS 0、QoS 1、QoS 2
MQTT(Message Queuing Telemetry Transport)是一种轻量级的通信协议,在物联网和消息传递系统中广泛应用。MQTT 提供了三个不同的 QoS(Quality of Service)等级,用于确保消息的可靠性和传输效率。本文将详细…...

搭建个人智能家居 3 -第一个设备“点灯”
搭建个人智能家居 3 -第一个外设“点灯” 前言ESPHome点灯 HomeAssistant 前言 前面我们已经完成了搭建这个智能家居所需要的环境HomeAssistant和ESPHome,今天我们开始在这个智能家居中添加我们的第一个设备(一颗LED灯),如果环境…...

基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
tar -xzf prometheus-2.7.0-rc.1.linux-amd64.tar.gzcd prometheus-2.7.0-rc.1.linux-amd64/./prometheus --config.fileprometheus.yml --web.listen-address:5555 Prometheus 默认监听端口号为 9090,为了不与系统上的其它进程监听端口冲突,我们在启动…...
(delphi11最新学习资料) Object Pascal 学习笔记---第7章第1节(创建对象 )
7.1.4 创建对象 与其他流行的编程语言比较之后,让我们回到 Pascal,看看如何使用类。 一旦定义了类,我们就可以创建一个该类型的对象,代码片段如下(本节所有代码提取自 Dates1 示例)那样:…...
unity学习笔记 Restsharp 使用心得
Restsharp Restsharp安装使用注意事项api方式的流式调用--子线程中执行代码无响应的问题问题描述问题解决其他问题 Restsharp 安装 可以在github上下载dll文件然后导入到unity中 https://github.com/adrenak/RestSharp.Unity 也可以百度直接搜Restsharp然后下载相关的文件导入…...

YOLOV5 部署:QT的可视化界面推理(创建UI,并编译成py文件)
1、前言 之前用YOLOV5 做了一个猫和老鼠的实战检测项目,本章将根据之前训练好的权重进行部署,搭建一个基于QT的可视化推理界面,可以检测图片和视频 本章使用的数据集和权重参照:YOLOV5 初体验:简单猫和老鼠数据集模型训练-CSDN博客 可视化界面如下: 2、安装Pyside6 本…...
Python:自动化处理PDF文档集合,提取文献标题、合并文献PDF并生成目录和页码
Python:自动化处理PDF文档集合,提取文献标题、合并文献PDF并生成目录和页码 引言:功能概述步骤一:提取PDF标题步骤二:生成目录和页码,合并PDF技术亮点 代码步骤一:提取PDF标题(Step_…...

vue 基于elementUI/antd-vue, h函数实现message中嵌套链接跳转到指定路由 (h函数点击事件的写法)
效果如图: 点击message 组件中的 工单管理, 跳转到工单管理页面。 以下是基于vue3 antd-vue 代码如下: import { message } from ant-design-vue; import { h, reactive, ref, watch } from vue; import { useRouter } from vue-router; c…...

数字排列 - 华为OD统一考试(C卷)
OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 小明负责公司年会,想出一个趣味游戏: 屏幕给出 1−9 中任意 4 个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第 n 位置…...

yocto 编译raspberrypi 4B并启动
yocto 编译raspberrypi 4B并启动 环境准备 最近到手一个树莓派4B,准备拿来玩一玩,下面记录下使用yocto构建RaspberryPi的镜像并刷写启动的过程。 首先准备主机编译环境,必要组件安装: sudo apt install gawk wget git diffstat…...

Nginx、LVS、HAProxy工作原理和负载均衡架构
当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。 在实际应用…...

C语言标准库函数qsort( )——数据排序
大家好!我是保护小周ღ,本期为大家带来的是深度解剖C语言标准库函数 qsort(),qsort()函数他可以对任意类型的数据排序,博主会详细解释函数使用方法,以及使用快速排序的左右指针法模拟实现函数功能,这样的排…...

基础---nginx 启动不了,跟 Apache2 服务冲突
文章目录 查看 nginx 服务状态nginx 启动后 访问页面 127.0.0.1停止 nginx 服务,访问不了页面停止/启动 Apache2 服务,启动 Apache2 页面访问显示正确nginx 莫名启动不了卸载 Apache2 服务器 启动 nginx ,但是总是不能实现反向代理࿰…...

如何利用百度SEO优化技巧将排到首页
拥有一个成功的网站对于企业和个人来说是至关重要的,在当今数字化的时代。在互联网上获得高流量和优质的访问者可能并不是一件容易的事情,然而。一个成功的SEO战略可以帮助你实现这一目标。需要一些特定的技巧和策略、但要在百度搜索引擎中获得较高排名。…...

CSS隐藏元素的方法 ( 5 种)
还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…...

微信小程序(五十九)使用鉴权组件时原页面js自动加载解决方法(24/3/14)
注释很详细,直接上代码 上一篇 新增内容: 1.使用覆盖函数的方法阻止原页面的自动执行方法 2.使用判断实现只有当未登录时才进行方法覆盖 源码: app.json {"pages": ["pages/index/index","pages/logs/logs"],…...

Git 学习笔记 三个区域、文件状态、分支、常用命令
Git 学习 GitGit概念VS Code中使用仓库(repository)示例 Git 使用时的三个区域示例 Git 文件状态示例 Git 暂存区示例 Git 回退版本删除文件忽略文件示例 分支分支的使用分支的合并与删除分支的合并冲突 Git常用命令Git远程仓库 (HTTP)步骤远程仓库 克隆…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...