当前位置: 首页 > article >正文

Git撤销add

git要提交版本第一步是add,就算是文件本身已经存在只是修改,也需要添加,即添加到暂存区。其中最偷懒和也保险的命令是:

git add .

即添加了本地(多称工作目录)所有文件。

撤销add有以下文章:

git怎么撤销add-git-PHP中文网

三种方法来取消git add命令-git-PHP中文网

自己见解&稍加说明:

1、git reset是万能的,也是最基本的,即,就是针对add这个操作的取消。理论上,其可以让add取消并将暂存区对应的文件恢复到任何一个历史版本,但是,除了恢复到上次提交的版本(最新的版本),恢复到其他版本也没什么用吧,后面再add了,再提交,还不是最终到最新的版本?并且历史版本记录,也不会有什么不同。

2、git restore:这个命令之前是没有的,所以说用git reset是足够的。这个的意思是,不光将暂存区对应文件恢复add前的版本(即最新/近提交的版本,当然也可以像上面reset一样恢复到任何历史版本),还将工作区的对应文件(也就是本地文件——你本地文件能add,即是和git映射好的)也恢复到最近提交的版本。所以要注意,本地文件如果有修改的,需要保留,则不能直接使用此命令,需要备份,或者用reset。或者,加个参数:--staged   表示只取消add到暂存区,其实就是reset。

3、git rm --cached:其实是git rm的限制用法。是直接在暂存区删除了对应文件,而不是像上面两种是将对应文件恢复到指定版本。此时,如果直接提交(commit),则暂存区中提交版本不再包含对应文件。本地的对应文件还是在的,还是可以通过add,再次添加到暂存区。如果连本地的对应文件都不要了,则直接用git rm 命令。见:

git rm --cached-CSDN博客

4、其实,git reset加参数,也可以实现不仅取消暂存区对应文件,也能取消工作目录的对应文件的修改,见:

git撤销commit操作回到add状态、撤销git add . 的操作_git commit回退到add-CSDN博客

其实git reset默认是git reset --mixed,也同时取消了git commit,如果执行前没有新的commit的话就不起作用,只取消了add。

若只取消commit,则加--soft,但一般很少这样用,add之后肯定要commit,要取消commit的话,也会取消add。

用git reset --hard ,就相当于git restore了,连本地工作目录下的对应文件也取消了修改,恢复到上一个提交版本。


http://www.kler.cn/a/302637.html

相关文章:

  • 越南很火的slots游戏投放Google谷歌广告策略
  • React 中如何解析字符串中的 html 结构
  • 写给初学者的React Native 全栈开发实战班
  • 自动化工具 Gulp
  • AUTOSAR_EXP_ARAComAPI的7章笔记(3)
  • 基于OpenCV的自制Python访客识别程序
  • Flutter类
  • Vue:通过js控制css变量 - 一键修改全局样式
  • Docker 常用命令(未完待续...)
  • 外贸网站建设该怎么做
  • Certbot 生成 SSL 证书并配置自动续期
  • android 发一个可以下载的的android studio历史版本
  • 深度学习——pycharm配置远程服务器(蓝耘GPU智算云)
  • JavaScript拷贝的艺术:玩转深拷贝和浅拷贝
  • Arcgis字段计算器:随机生成规定范围内的数字
  • vue2中使用web worker启动定时器
  • 25届计算机专业选题推荐-基于微信小程序的校园快递驿站代收管理系统
  • 修改docker的默认存储位置及镜像存储位置
  • 无人机低空安全管控系统技术详解
  • 2024年9月13日随笔
  • c++中extern “C“的作用及理解
  • 【FFMPEG】FFplay音视频同步分析(下)
  • 仕考网:2525年国考时间是什么时候?
  • Maven基本使用(下)
  • 无头服务(Headless Service)
  • 按图搜索的实时性:阿里巴巴拍立淘API返回值的快速响应