参考文章:git commit和git add的撤销


如果不想提交某个文件,比如DBConfig.py,但是不小心git add了这个文件,想要撤销add的话,不要用git rm --cached DBConfig.py,应该用git reset HEAD DBConfig.py

昨天误用了git rm --cached xxx.py,push之后发现gitlab上的对应的xxx.py文件也被删除了…赶紧又补回来…

git add的撤销

git add 操作时,会将工作目录中已修改的文件放到暂存区。这时如果你误添加一些不想提交的文件,如何解决?

那么你可以使用命令git reset HEAD <撤销的文件1> ...来取消暂存,将file退回到unstage区,例如:

$ git add.c.txt
$ git reset HEAD c.txt

接着,如果想放弃已经修改的内容,将某个文件恢复到上次commit的状态,只需要使用命令git checkout -- <放弃的文件> ...

如果你是新建的文件,如果要放弃,那么使用git rm <文件>...


git rm 与 git reset的区别

git rm:用于从工作区和索引中删除文件
git reset:用于将当前HEAD复位到指定状态。一般用于撤消之前的一些操作(如:git add,git commit等)。

git rm file_path 删除暂存区和分支上的文件,同时工作区也不需要
git rm --cached file_path 删除暂存区或分支上的文件, 但工作区需要使用, 只是不希望被版本控制。

【Git】撤销已经git add的文件相关推荐

  1. git分支合并、撤销;git修改已push的commit信息; git 撤销操作;

    git分支合并 1.分支代码提交 2.git branch 查询本地分支 3.git checkout 分支名1 切换分支到需要合并的分支上 4.git merge 分支名2  //选择要合并到 分支 ...

  2. git 撤销提交的文件

    一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...

  3. git撤销某文件被添加到暂存区的修改,且回到文件未修改前的原样

    实验: 一.修改某文件内容,然后可以使用git status查看,已经被修改: 但会提示:修改尚未加入提交(使用 "git add" 和/或 "git commit -a ...

  4. git 撤销对工作区中文件的修改

    对工作区中文件的修改分为三种情况: (1)修改,但没有用git add将修改添加到暂存区: (2)修改,已经使用git add将修改添加到暂存区: (3)修改,已经使用git add将修改添加到暂存区 ...

  5. git 撤销文件的修改(checkout/reset )

    使用 git 撤销某个文件的修改,分为两种情况: 情况1:在工作区已修改,但并未提交到暂存区(即并没有add) 撤销单个文件修改,使用下面命令: $ git checkout -- 文件名 若想撤销工 ...

  6. Git撤销文件的修改(git checkout -- file)(git reset HEAD file)(git reset HEAD~)

    1  撤销没有add到暂存储区文件 git checkout -- file 如果我们把文件rm了,git statu肯定会显示出来,我们怎么还原这个文件呢?还是用上面的命令 2  撤销到add到暂存 ...

  7. git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...

    一.可以将git简单的分为三个区域   1.工作区(working directory)    2.暂缓区(stage index)    3.历史记录区(history)    如图: 其中git ...

  8. git撤销单个文件的修改_大牛总结的 Git 使用技巧,写得太好了

    作者:你喜欢吃青椒么来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下 ...

  9. Git 撤销已提交的文件

    多人开发的项目,使用git时,会有冲突的存在的情况 1.1  如果不小心commit了一个不需要commit的文件,可以对其进行撤销. git add . git commit -m'测试' git ...

最新文章

  1. C++ 中vector的学习
  2. [ARM-assembly]-ARMv8-A64指令集总结和学习
  3. 单个正态总体均值的区间估计_假设检验09---单个正态总体参数的假设检验
  4. 【实战篇】| 小鹿教你用动态规划撩妹的正确方式
  5. 贷款秒拒?你可能进了“灰名单”!
  6. Linux打包软件版本带时间,带你写一个 linux 下的打包软件 tar
  7. C语言 select
  8. c# 基础语法总结(实例)
  9. 8.深入分布式缓存:从原理到实践 --- 分布式Redis
  10. Java题库(为了这辈子能吃上俩个菜好好学Java)
  11. 在线卡密销售系统之JAVA WEB学习之路
  12. CPU卡电子现金qPBOC交易流程记录
  13. [附源码]Java计算机毕业设计SSM宠物领养系统
  14. android netd的工作流程解析
  15. 7.java IO流
  16. bzoj2563阿狸和桃子的游戏
  17. Unity优化 详谈GetComponent
  18. 英语作文计算机国际会议开幕词,【国际会议开幕式】国际会议开幕词英文
  19. 全面解说火星人集成灶:多方面拿下第一,到底是如何做到的?
  20. 8.2.2 使用SHOW CREATE TABLE语句查看表结构

热门文章

  1. HDU - 4686 Arc of Dream(矩阵快速幂,水题)
  2. 创建 tls 客户端 凭据时发生严重错误。内部错误状态为 10013_kubectl 创建 Pod 背后到底发生了什么?...
  3. mysql流量控制_Daloradius限制上网流量
  4. 离散化+树状数组求逆序数
  5. 20.IDA-修改二进制文件、显示修改点
  6. 外挂学习之路(12)--- 用CE搜索字符串和搜索字符数组的区别
  7. 小红书shield算法分析
  8. Python:langdetect和langid检测语言类型
  9. Java代码优化:使用构造函数和使用一个setter的效率差别
  10. 费解 | 为什么很多程序员工作时都戴耳机?