git:三、git rm删除文件+gitignore忽略+git diff比较差异(附带详细步骤教程)

本文主要是介绍git:三、git rm删除文件+gitignore忽略+git diff比较差异(附带详细步骤教程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

git rm 删除文件

注意以下所有操作都只针对工作区和暂存区,如果需要删除后真正生效,还需要额外提交

git rm 某个文件名   

把文件从工作区和暂存区同时删除

git rm --cached 某个文件名 

把文件从暂存区删除,但保留在工作区中

git rm -r *

递归删除某个目录下的所有子目录和文件

gitignore忽略文件

一般需要忽略的文件

在这里插入图片描述

git diff 比较差异

git diff

比较工作区中被追踪的文件和暂存区的不同。

  1. 新创建一个文件test git diff,不进行git add,也不输入内容,那么输入git diff 不会显示任何内容,因为他不是工作区中被追踪的内容。
  2. 此时在文件test git diff里输入内容this is test1,再次输入git diff 也不会显示任何内容,因为他仍然不是工作区中被追踪的内容。
  3. 此时进行git add,那么输入git diff 不显示任何内容,因为此时工作区的内容和暂存区内容一致。
  4. 修改文件内容为this is test2后直接输入git diff,那么会显示内容如下
    在这里插入图片描述
    实际开发中主要看红色字和绿色字即可,前者表示暂存区的内容,后者表示工作区的内容。

git diff HEAD

比较工作区和仓库的不同

  1. 仍然是刚刚的文件,修改内容为this is test3,然后git add. git commit,此时本地仓库中是this is test3
  2. 然后修改内容为this is test2,然后git add,此时暂存区中是this is test2
  3. 再次修改内容为this is test1,此时工作区、暂存区、本地仓库分别为test1 2 3
  4. 然后输入git diff HEAD,那么会显示内容如下:
    在这里插入图片描述
    实际开发中主要看红色字和绿色字即可,前者表示仓库的内容,后者表示工作区的内容。

git diff --cached和git diff --staged

比较暂存区和仓库的不同
用刚刚的文件,不作任何修改,直接输入

git diff --cached

应该会显示如下:
在这里插入图片描述
直接输入

git diff --cached

应该会显示如下:
在这里插入图片描述
那–cached和–staged有什么不同?
没有任何不同,单纯是随着git的发展,一个命令有了两个名称而已

git diff commit1哈希值 commit2哈希值 和 git diff HEAD~ HEAD

比较提交之间的不同
新创建一个文件,名字叫testgitdiff

  1. 更改文件内容为this is commit a,然后git addgit commit -m 'commit a'
  2. 更改文件内容为this is commit b,然后git addgit commit -m 'commit b'
  3. 更改文件内容为this is commit c,然后git addgit commit -m 'commit c'

此时我们得到了三个提交,可以从pycharm等自带的git页面点进去每个提交,可以看到类似f7fbc36e之类的就是该次提交唯一的短哈希值
在这里插入图片描述
也可以输入命令git log得到每次提交的长哈希值。
同时可以看到HEAD此时位于commit c处,那么HEAD~1,表示倒数第二个提交就是在commit b,HEAD~2就是在commit a处。

在这里我们三个提交的信息如下:

提交短哈希长哈希离HEAD距离
commit a9c814a2e9c814a2e42d4417672097d9a786fc43abd31e044HEAD~2
commit b25daeaf325daeaf3456e9694f0b3cfb0cce17477f40a5fd5HEAD~1
commit cf7fbc36ef7fbc36ef975f9aba784079cc6d511acc6889b64HEAD

随便测几个吧~懂我意思就好
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git diff 分支名1 分支名2

比较分支仓库之间的不同
使用git checkout -b testgit创建一个新分支,同时用git branch查看当前分支有哪些
在这里插入图片描述
可以看到我这里的演示环境还是比较干净的,只有这两个分支。然后当前处于testgit分支上

  1. 新创建一个文件,名叫gittest,输入git diff main testgit,没有输出,因为此时文件没有在testgit的仓库里
  2. 进行git add,输入git diff main testgit,没有输出,因为此时文件仍没有在testgit的仓库里
  3. 进行git commit,输入git diff main testgit,输出如下
    在这里插入图片描述
    第一行输出了具体是哪两个文件不同。

这篇关于git:三、git rm删除文件+gitignore忽略+git diff比较差异(附带详细步骤教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/878471

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与