git rm 删除 以及清空暂存区

2023-05-16

一.使用linux命令rm删除:

在当前工作区有文件readme.txt,并被git跟踪,且有提交历史。运行如下命令:

rm readme.txt

删除后状态截图

分析如下:

(1)readme.txt文件的状态是被删除。

(2)此时工作区中的文件已经被删除,

(3)Changes not staged for commit 表明删除文件和新增文件对Git来说都是一种改变,并没有将此改变提交到暂存区。如果要切实在commit提交中也要删除此文件,那么就要首先将此种改变提交暂存区:

git add readme.txt

然后完成此次提交:

git commit -m "delete readme"
 

二.使用git rm命令删除:

通过纯粹的linux命令删除一个文件需要三个步骤:

(1)rm 删除文件。

(2)将此种改变提交暂存区。

(3)最后进行commit提交。

使用git rm命令可以节省一步,代码如下:

git rm readme.txt

查看一下此时状态:

a:3:{s:3:\"pic\";s:43:\"portal/201807/26/010036vsxacxc0afsz10c0.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

分析如下:

(1)readme.txt处于deleted状态。

(2)工作区中的文件已经被删除。

(3)Changes to be committed表明此删除改变已经提交到暂存区,如果要切实在commit提交中也要删除此文件,就可以省略git add命令,直接commit提交即可。

git commit -m "delete readme"
 

三.使用--cached参数:

前面的rm和git rm都会将工作区的文件删除,如果仅仅想让文件脱离Git的跟踪,可以后面加--cached。

这样工作区的文件不会删除,仅删除暂存区中对应的文件。

代码如下:

git rm readme.txt --cached

查看一下状态:

a:3:{s:3:\"pic\";s:43:\"portal/201807/26/010150og1nn178i7qo9e9h.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

readme.txt处于未跟踪状态,也就是从暂存区删除。

特别说明:处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。

 

附:清空暂存区

所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引)

a:3:{s:3:\"pic\";s:43:\"portal/201807/18/001723t4dck4mdo1etp1sx.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。

指令:rm .git/index 直接删除该文件夹即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git rm 删除 以及清空暂存区 的相关文章

  • Git:由于看似随机的合并,更改不断丢失

    我有一种感觉 这将是一个显而易见的答案 但我似乎无法解决 似乎发生的情况是 我向服务器提交 推送了一些更改 并且我的副本上的一切都显示正常 然后 另一位开发人员从同一分支的服务器中拉取 据我所知 据称看到了我的更改 进行一些修改 将它们提交
  • git rebase -i ——为什么它改变提交哈希值?

    所以我或多或少熟悉变基的工作原理 但直到最近我通常只做了一个git rebase i HEAD 20 并修改了需要修改的内容 我很惊讶地发现这将修改所有 20 个提交的哈希值 即使我采取的唯一操作是压缩最后两个提交 我不确定是什么导致其他
  • 子 git 存储库作为主存储库的子集

    我正在寻找一种方法来设置 git 存储库 其中包括来自较大存储库的文件子集 并从该主存储库继承历史记录 我的主要动机是能够通过 GitHub 共享代码子集 我目前通过单个 git 存储库管理我的研究相关 主要是 Matlab 代码 代码本身
  • 获取签出修订版的 git 标签?

    我正在做 git tag current tag example to test task git checkout tag example to test task HEAD is now at 75fdde3 commit commen
  • Git:当文件位于嵌套 git 存储库中时强制“添加”

    我想添加一个包含在父存储库中的嵌套 git 存储库中的文件 我正在开发一个在我的项目中使用的库 然而git add nested repo myfile不做任何事情 我可以尝试重命名 git文件在进行提交时 但是当我重命名回时 我担心会出现
  • Egit 无法检测到本机 Git 的安装路径“gitPrefix”

    如何解决这个问题 警告 EGit 无法检测到本机 Git 的安装路径 gitPrefix 因此 Egit 无法尊重系统级别 Git 设置可以在本机 Git 安装目录下的 gitPrefix etc gitconfig 中配置 正如我在 eg
  • Git 子模块在 Windows 上更新缓慢

    Git 子模块在 Windows 上似乎非常慢 为了测试性能 我创建了 3 个裸存储库并向它们提交了 3 条独立消息 未存储文件 然后 我将每个裸存储库作为子模块添加到新的 git 存储库中 并执行子模块更新 花费了 5 秒多的时间 当使用
  • Git:man 命令不起作用

    在 Git Bash 中 他们给了我一个error用于返回 man command man git bash man command not found 我的 Git 版本 git version git version 2 18 0 wi
  • Hudson 结帐卡在“git fetch”处

    我正在使用 git 版本 1 6 2 2 1669 g7eaf8 在 Hudson 1 314 上使用 Hudson Git 插件 0 7 3 当我触发构建时 Hudson 执行 git fetch 但它永远不会返回 我把一只卡在那里14天
  • git:如何查明某个分支是否有拉取请求?

    我在 git 分支上 有没有办法查看该分支是否有拉取请求 在这种特殊情况下 Atlassian Stash 用于管理拉取请求 当然我可以使用Stash的Web界面来搜索拉取请求 但我也可以仅使用 git 命令行工具从脚本执行此操作吗 Cor
  • GIT 中的重复合并。它如何计算差异?

    我一直在做一项研究 试图了解 GIT 合并是如何工作的 我知道有几种合并类型 如递归 章鱼等 我发现解析 递归是最常用的 并且递归合并仅在存在多个共同祖先 基础时才有用 但是 我找不到从分支重复合并到主节点时使用哪种算法 或者如何计算祖先
  • 如何像对待普通目录一样对待嵌套存储库(子模块)?

    我的 WordPress 网站是使用 Git 进行版本控制的 包括wp content plugins 文件夹 现在有一个插件 wp editormd 带有自己的 Git 存储库 wp content plugins wp editormd
  • 有没有办法列出Git中未修改的文件?

    我从另一个来源以 tarball 的形式获取了一些更改 我想知道哪些文件没有更改 目标是 Git 克隆 因此可以轻松查看新增内容和更改内容 有人知道如何获取未更改内容的列表 不包括未跟踪的内容 吗 编辑 换句话说 我希望利用 Git 来查找
  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • Git - 推送到远程存储库中的远程跟踪分支

    当简单地做git push到远程存储库 其master分支得到更新 对于非裸存储库来说 这是不希望出现的情况 最近的 Git 版本显示的警告消息清楚地表明了这一点 我希望能够推送到远程存储库 并拥有其之一远程追踪分支进行更新 稍后 当我登录
  • Git 命令显示我对给定远程的权限

    同事可以从远程存储库获取数据 但不能推送到远程存储库 我怀疑他对遥控器只有读权限而没有写权限 我可以通过多种方法来检查这一点 但我想不出他可以在 git 中使用的方法 是否有 git 命令可以显示给定远程存储库的权限 No Git 本身不处
  • 为什么cherry-pick总是会导致合并冲突?

    我正在从发布分支中挑选特定的提交到我的本地工作副本中 每次我从发布分支中挑选一个提交时 我都会遇到必须解决的合并冲突 即使更改看起来微不足道 例如 const char kApplicationVersion Develop const c
  • 在 git 子模块中签出分支

    如何从子模块内更改分支 当我跑步时git branch从子模块内 我看到以下输出 gt git branch HEAD detached from 229a7b2 master 我如何将自己置于一个新的分支上 喜欢development 只
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • 无法使用 git 配置文件进行 ssh

    我知道它被问了很多次 但我无法得到我的问题的答案 我正在尝试使用配置文件 ssh 到系统 配置文件是 Host qa HostName 10 218 70 345 User user IdentityFile C Users bean ss

随机推荐

  • js获取对象属性的两种方式

    一 如果属性名称是常量 xff08 固定值 xff09 xff0c 获取属性值的方式有 xff1a 1 对象 属性名称 如 obj age 2 对象 属性名称 如 obj age 二 如果属性名称是一个变量 xff0c 值不固定 xff0c
  • 关于Eclipse的Unhandled event loop exception No more handles

    今天用了公司一台电脑做开发 xff0c 在运行eclipse以及myeclipse点击java代码窗口内部时 xff0c 都遇到如下图所示的问题 xff1a 上网查了一下错误的原因 xff1a 因为一些进程和eclipse起了冲突 下面我来
  • IDEA较新版本,编译xml文件(src/main/java下的xml等)

    IDEA较新版编译src main java下的文件 问题 xff1a 原因 xff1a 解决 xff1a 实际应用代码 xff1a 问题 xff1a 在导入新项目时 xff0c 由于项目中整合了Mybatis xff0c 一些mapper
  • IDEA 2018.3.2 版本配置SVN

    IDEA 2018 3 2 版本配置SVN 1 首先安装TortoiseSVN2 配置IDEA3 IDEA开启SVN 1 首先安装TortoiseSVN 安装的过程中 xff0c 需要勾选command line client tools
  • springmvc 上传文件,单个文件,多个文件

    1 Java代码部分 xff1a 1 1spring配置 xff1a span class token operator lt span span class token operator span span class token ope
  • Jquery实现免上传预览图片功能

    Demo如下 span class token doctype lt DOCTYPE html gt span span class token tag span class token tag span class token punct
  • jQuery :not() 选择器

    JQ选择器 xff0c 不选择某些标签 基础用法 xff1a p not class 多个not p not class not id span class token doctype lt DOCTYPE html gt span spa
  • 弱智笔记 js用==比较 空字符串==0,返回true

    span class token keyword if span span class token punctuation span span class token string 34 34 span span class token o
  • PHP7+apache2.4环境搭建

    PHP 43 apache环境搭建 版本 xff1a PHP Version 7 1 30 apache2 4 下载 xff1a 下载php时 xff0c 注意下载VC14 x64 Thread Safe xff0c 否则没有php7apa
  • JAVA构造器注意事项

    JAVA构造器 1 JAVA默认提供无参构造器 2 默认无参构造器 对域进行初始化规则 数值型 xff1a 0 布尔类型 xff1a false 对象类型 xff1a null 3 如果自己写了一个带参构造器 xff0c 默认的无参构造器失
  • 原生大数据|elasticSearch|低版本kibana组件的汉化

    前言 xff1a 大数据的范畴里包括EFK ELK xff0c 这些套件安装部署是非常的成熟 xff0c 因此是比较好部署安装的 xff0c 一般的 xff0c 困难出现在部署完成后的运营和维护 kibana这个组件的版本低于7我们就应该认
  • JAVA继承-注意事项

    JAVA继承 1 子类所有构造器 xff0c 会隐式调用父类的无参构造器 原理 xff1a 子类所有构造器 xff0c 都会在第一行隐式调用super 问题 xff1a 如果父类没有无参构造器 xff0c 编译报错 解决 xff1a 在子类
  • mac上安装brew出错curl: Failed to connect to raw.githubusercontent.com port 443解决方法

    问题描述 由于最近重做了电脑系统 xff0c 重新下载安装brew 就报错了 xff0c raw githubusercontent com 在国内由于不可描述的原因就无法访问 解决方法一 参考网上的解决方法 首先是访问这个网址 https
  • Hexo + gitHub pages

    网址 xff1a https oldmee github io hexo的写作流程就是会按照日期自动帮你归类 xff0c 你new了一个page会生成一个markdown文件 xff0c 你就可以愉快的写作了 xff0c 边写边看效果 xf
  • 使用策略模式优化过多的if else语句

    此处的过多是指if else超过三层 xff0c 如下面的代码 xff1a public class MainStart public static void main String args String message 61 34 se
  • 在基于图像的深度学习中如何做数据的自动标注以及自动标注的等级介绍

    作者 xff1a Tobias Schaffrath Rosario 编译 xff1a ronghuaiyang 原文 xff1a 在基于图像的深度学习中如何做数据的自动标注以及自动标注的等级介绍 ronghuaiyang的博客 CSDN博
  • 【Java】 牛客网华为机试108题汇总

    文章目录 目录 目录 1 求字符串最后一个单词长度 2 计算字符串个数 3 明明的随机数 4 字符串分割 5 进制转换 6 质数因子 7 HJ19 简单错误记录 8 HJ25 数据分类处理 9 HJ30 字符串合并处理 1 求字符串最后一个
  • OpenCV的简单使用教程与基本函数(C++版本)

    OpenCV的简单使用教程 xff08 C 43 43 xff09 OpenCV简介OpenCV的使用基础打开 显示和保存图像图像存储变量 Mat类图像元素的存储读入图像文件创建Mat类复制Mat类图像元素的访问OpenCV画图命令行交互界
  • 【实用技巧】知网文献不限量免费下载方法,亲测可用

    众所周知 xff0c 知网可以查看和下载相关的文献资料 xff0c 只要用校园网就能免费的下载和查阅 xff0c 但是也有不少学校并没有和知网合作 xff0c 这样就没办法下载 xff0c 只能充钱才能享受 那么有没有白嫖的办法呢 xff1
  • git rm 删除 以及清空暂存区

    一 使用linux命令rm删除 xff1a 在当前工作区有文件readme txt xff0c 并被git跟踪 xff0c 且有提交历史 运行如下命令 xff1a rm readme txt 分析如下 xff1a xff08 1 xff09