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 命令执行后可能发生的一些主要步骤:

  1. 初始化仓库:Git 会在当前目录下创建一个名为 .git 的子目录,这个目录包含了 Git 仓库的所有必要文件和子目录。
  2. 创建默认分支:Git 会创建一个默认的主分支,通常是master分支(在新版本的 Git 中可能是 main 分支),用于跟踪项目的主要开发进展。
  3. 创建初始提交:Git 会创建一个初始的提交(commit),表示仓库的初始状态。这个提交包含了当前目录下所有文件的快照。
  4. 设置配置:Git 会在 .git 目录中创建一个配置文件,用于存储仓库的配置信息,比如用户名、邮箱等。
  5. 完成初始化:一旦执行$ git init完成,当前目录就成为了一个 Git 仓库,你可以使用 Git 来进行版本控制、提交更改、创建分支等操作。

在执行完$ git init后,你就可以开始使用 Git 来管理项目的版本控制了。记得在使用 Git 前,需要先配置用户信息,例如设置用户名和邮箱,以便 Git 能够正确记录提交信息。

参考

适合初学者的简单 Git 教程

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

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

相关文章

Layer Normalization 算法 和 Batch Normalization 算法的 python实现

Layer Normalization 算法 import torch from torch import nnclass LN(nn.Module):# 初始化def __init__(self, normalized_shape, # 在哪个维度上做LNeps:float 1e-5, # 防止分母为0elementwise_affine:bool True): # 是否使用可学习的缩放因子和偏移因子super(LN, self…

【大模型系列】图片生成(DDPM/VAE/StableDiffusion/ControlNet/LoRA)

文章目录 1 DDPM(UC Berkeley, 2020)1.1 如何使用DDPM生成图片1.2 如何训练网络1.3 模型原理 2 VAE:Auto-Encoding Variational Bayes(2022&#xff0c;Kingma)2.1 如何利用VAE进行图像增广2.2 如何训练VAE网络2.3 VAE原理2.3.1 Auto-Encoder2.3.2 VAE编码器2.3.3 VAE解码器 3 …

一文解读ISO26262安全标准:术语(二)

一文解读ISO26262安全标准&#xff1a;术语&#xff08;二&#xff09; 本文继续补充一些标准中的术语&#xff0c;方便后续文章内容的有效理解。 分支覆盖率 branch coverage 控制流分支覆盖的比率. 100%分支覆盖率意味着100%语句覆盖率&#xff0c;比如&#xff0c;一个if语句…

速盾cdn:服务器ip能直接加cdn吗

速盾CDN&#xff08;Content Delivery Network&#xff09;是一种通过在全球各地部署服务器节点&#xff0c;将网站或应用的内容分发到离用户最近的节点上&#xff0c;从而加速网站的访问速度和提升用户体验的技术方案。那么&#xff0c;服务器IP能否直接与CDN配合使用呢&#…

【UE5】持枪状态站立移动的动画混合空间

项目资源文末百度网盘自取 创建角色在持枪状态站立移动的动画混合空间 在BlendSpace文件夹中单击右键选择动画(Animation)中的混合空间(Blend Space) 选择SK_Female_Skeleton 命名为BS_RifleStand 打开 水平轴表示角色的方向&#xff0c;命名为Direction&#xff0c;方…

CASIA-HWDB手写体数据集gnt生成为png格式

👑一、数据集获取 1.1 官方链接获取gnt文件 http://www.nlpr.ia.ac.cn/databases/download/feature_data/HWDB1.1trn_gnt.ziphttp://www.nlpr.ia.ac.cn/databases/download/feature_data/HWDB1.1tst_gnt.zip 1.2 百度网盘获取gnt文件 链接:https://pan.baidu.com/s/1pKa…

c++11 标准模板(STL)(std::locale)(五)用此 locale 的 collate 刻面以字典序比较两个字符串

用以封装文化差异的多态刻面的集合 std::locale 类型对象是不可变平面的不可变索引集。 C 输入/输出库的每个流对象与一个 std::locale 对象关联&#xff0c;并用其平面分析及格式化所有数据。另外&#xff0c; locale 对象与每个 std::basic_regex 对象关联。 locale 对象亦可…

Redis 的并发竞争问题是什么?如何解决这个问题?了解 Redis 事务的 CAS 方案吗?

目录 一、面试官心理分析 二、面试题剖析 一、面试官心理分析 这个也是线上非常常见的一个问题&#xff0c;就是多客户端同时并发写一个key&#xff0c;可能本来应该先到的数据后到了&#xff0c;导致数据版本错了;或者是多客户端同时获取一个 key&#xff0c;修改值之后再写回…

KKVIEW: 远程控制软件哪个好用

远程控制软件哪个好用 随着科技的发展和工作方式的改变&#xff0c;远程控制软件越来越受到人们的关注和需求。无论是在家中远程办公&#xff0c;还是技术支持人员为远程用户提供帮助&#xff0c;选择一款高效稳定的远程控制软件至关重要。在众多选择中&#xff0c;有几款远程…

51-30 World Model | 自动驾驶的世界模型:综述

24年3月&#xff0c;澳门大学和夏威夷大学联合发布的工作&#xff0c;World Models for Autonomous Driving: An Initial Survey。花时间反复看了几遍&#xff0c;刚开始觉得世界模型没用&#xff0c;空洞无序&#xff0c;根本不可能部署到实车上&#xff0c;后面逐渐相信&…

idea 导入项目

idea 导入项目并运行 导入设置设置 jdk查看maven 设置 导入 在项目首页 或者 file 选择 open, 然后选择项目根路径 设置 设置 jdk 查看maven 设置

[Python学习]变量存储逻辑和垃圾回收机制(GC)

一、引子 首先&#xff0c;我们从两个例子入手垃圾回收机制: a 1000 b 2000 a b a 100 b 200 a b 这两段代码的功能都是“把b变量的值赋值给a变量”&#xff0c;但是在Python的底层逻辑上&#xff0c;这两段代码的实现过程确是有所不同的。 过程&#xff1a;第一段代码…

基于java实用的音乐软件微信小程序的设计与实现【附项目源码】分享

基于实用的音乐软件微信小程序的设计与实现: 源码地址&#xff1a;https://download.csdn.net/download/weixin_43894652/88842586 一、引言 随着移动互联网的普及和微信小程序的兴起&#xff0c;音乐类小程序成为了用户随时随地享受音乐的重要工具。本需求文档旨在详细阐述一…

基于单片机的大棚温湿度控制系统设计

摘要:现阶段我国的科学技术方面得到了快速的发展,各项社会事业的发展也都进行了智能化技术的应用,农业事业智能化发展在现如今时代发展进程中变得越来越重要了,如果能够实现对大鹏的温度和湿度进行有效且稳定的控制,能够实现现代的农业大棚高水平的发展,这对于我国整体的…

Python 实现一个简单的中文分词处理?

在Python中,实现一个简单的中文分词处理,我们可以采用基于规则的方法,比如最大匹配法、最小匹配法、双向匹配法等。但更常见且效果更好的是使用现有的分词库,如jieba分词。   以下是使用jieba分词库进行中文分词的简单示例: 安装jieba 首先,你需要安装jieba库。如果你…

【图解物联网】第零章 前言

前言 一、本博文的写作背景 这个寒假&#xff08;准确的说应该是上个学期&#xff09;&#xff0c;作者通过厚脸皮以及社牛的性格&#xff0c;抱住了一位老师的大腿&#xff0c;并且通过寒假期间突击补习&#xff0c;成功得到老师的赏识&#xff0c;得以进组进一步学习各…

c++简单使用

取消同步流是为了解决C有时遇到空格或回车&#xff08;不到\0&#xff09;就会停下的问题 #include<bits/stdc.h> using namespace std; int main() {//取消同步流ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int a, b;cin >> a>> b;cout << …

拦截器和过滤器(原理区别)

目录 一、拦截器 拦截器是什么 拦截器的使用 拦截器的实现 导入依赖 实现HandlerInterceptor接口 注册拦截器 拦截器的生命周期 拦截器的执行顺序 拦截器的生命周期 多个拦截器的执行流程 拦截器的实际使用 拦截器实现日志记录 实现接口幂等性校验 拦截器的性能…

Python import 跟 Java import 有什么区别?

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

STL——map set

文章将解决一下几个问题&#xff1a; 1.什么是set 2.什么是map 3.set应用场景 4.map应用场景 序列式容器和关联式容器 数据结构有序列式容器和关联式容器&#xff0c;序列式容器一般有vector,list,deque…&#xff0c;但关联式容器中就有map&#xff0c;关联式容器也是用来存…