05-----撤销add,commit,push的方法(包括如何删除已经push到远程库的单个文件或者文件夹)

2023-11-16

1 撤销add添加的多余文件

git reset filename			//撤销add到缓冲区的部分文件

2 撤销commit的多余文件

git log						//先使用查看已经提交的commitId节点
git reset commit_id			//(回退到上一个提交的节点,代码还是原来你修改的,即在上一次版本的基础上,加上你已经修改的内容)建议使用这个
或者使用下面:
git reset –hard commit_id 	//(回退到上一个commit节点, 代码也发生了改变,即与上一次版本一模一样)

3 撤销push到远程库之后的方法

git revert HEAD 				//撤销前一次 commit	
git revert HEAD^ 				//撤销前前一次 commit
git revert commit-id 			//(撤销指定的版本,撤销也会作为一次提交进行保存)

注:此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交,版本会递增。
即1-2-12代表误交的内容,1代表还原的内容。

顺便提一句:
如果commit注释写错了,只是想改一下注释,只需要:git commit --amend 此时会进入默认vim编辑器,修改注释完毕后保存就好了。

4 删除push远程仓库后的某个文件

第三点我们只是将整个项目再远程仓库进行回退,而不能单个删除。所以我们这点就是删除远程仓库的单个文件。

git rm --cached config.json		// --cached代表不删除本地文件,只删除远程,去掉则连本地文件也删除。实际上本地文件已经被删除时,只要仓库还有,该命令也是能正常使用。加上-r表示删除文件夹。
git commit -m 'config.json'
git push origin dev				// dev为分支名

上面的删除单个文件的流程,实际上和添加文件到远程库是一样的,只不过add换成了rm。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

05-----撤销add,commit,push的方法(包括如何删除已经push到远程库的单个文件或者文件夹) 的相关文章

  • 是否应该在 git 中跟踪 .history 文件夹中的文件[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 每当我进行更改时 history 文件夹中的某些文件在我的状态中都会显示为未跟踪 我将如何控制它 即 make 是自动添加或不添加这些内容 而不
  • `git add --patch` 和 `--word-diff`

    git add patch提供了一个很好的界面 用于检查未暂存的更改 然后仅暂存下一次提交中需要的更改 很好 除了一件事 没有明显的方法来选择哪个diff视图来使用 特别是 我希望能够配置git add patch以同样的方式向我呈现差异g
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • 签出现有的远程分支

    我见过不同的方法来检查现有的远程分支 假设我的朋友推送了新分支 bigbug 并且我想签出并将我的本地工作副本切换到该分支 我有以下选项 1 git checkout b bigbug origin bigbug 2 git checkou
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • 来自 eclipse 的部分 git 提交 (egit)

    假设我有一个有 2 个更改的文件 如何使用 egit 只提交其中之一 命令行版本可以在以下位置找到this https stackoverflow com questions 1085162 commit only part of a fi
  • 如何避免开发人员将凭证推送到 bitbucket?

    我们有一个应用程序 它使用 JSON 文件来定义数据库和其他 API 的连接字符串和凭据 理想情况下 这些凭证作为变量添加到 bitbucket 存储库中 并在 Jenkins 的构建期间进行替换 开发商在当地与他们合作时更换了他们 我们需
  • 如何让 git 和 copSSH 在正确的目录中查找密钥?

    我刚刚安装了 Windows 版 copSSH 当我启动它时 我得到一个目录C copSSH home Nick ssh其中有我的酒吧和私钥 当我通过 Cygwin bash 窗口访问此目录时 使用 ssh 用户 主机 我很高兴地登录了 但
  • git for-each-ref - 按年龄过滤结果

    我正在使用以下命令here https stackoverflow com a 39251131 5812876 git for each ref format color cyan authordate format m d Y I M
  • git 命令显示所有(轻量级)标签创建日期

    是否有一个衬垫可以向我显示所有 git 轻量级标签的创建日期 就像是 git show tags format date 我在这个发现link http osdir com ml git 2009 05 msg01404 html适合我需求
  • Git守护进程克隆错误

    All 我正在按照以下指示进行操作this SO https stackoverflow com a 377293 724357答案 快速提供回购 当我跑步时git clone git ipAddr git project我得到这个输出 r
  • 使用 Subversion 进行部分提交

    鉴于我做的案例两个独立的变化 in one文件 例如 添加了一个新方法并更改了另一个方法 我经常不想提交这两项更改 因为one提交 但作为two独立承诺 在 git 存储库上我会使用互动模式 of git 添加 1 http linux d
  • 为什么在 Eclipse 中对 Egit 管理的项目禁用合并工具?

    根据Egit 用户指南 http wiki eclipse org EGit User Guide Using Merge Tool 要使用合并工具 应右键单击存在合并冲突的资源 然后选择Team gt 合并工具 但是 当我执行此操作时 合
  • 合并之间的 git rebase 会导致完全不相关的文件发生冲突

    我有一个大型 Git 存储库 几个月前引入了一个错误 我想bisect它 首先引入一个过去的提交 存储库 然后重播合并 做rebase到新的 commit 如下图所示 据我了解 由于合并 Git 似乎无法正常工作 预期的 但我想更好地了解为
  • Git 在推送代码时返回错误 403 [重复]

    这个问题在这里已经有答案了 一切都工作正常 直到我创建了一个新的 GitHub 帐户 当我尝试使用新帐户第一次将代码推送到 github 服务器时 出现以下错误 remote Permission to NEW USER NEW REPO
  • 通过链接进入 git-repo,无需冗长的对话框

    In a directory I have symbolic links into a git administered directory all under Linux Every time I want to e dit such a
  • git Branch -d :致命 - 无法查找 HEAD 的提交对象

    假设我在一个裸存储库 远程 中 如果我尝试使用以下命令删除分支git branch d
  • git stash 删除最旧的存储(比如最旧的 5 个存储)

    如何在一个语句中删除最旧的存储 例如最旧的 5 个存储 而不是执行以下操作 git stash drop stash 3 git stash drop stash 4 git stash drop stash 5 git stash dro
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits

随机推荐

  • 手机通过RNDIS共享网络

    RNDIS 是 Remote Network Driver Interface Specification 远程网络驱动程序接口规范 的首字母缩写 实际上的作用为 TCP IP over USB 也即把 USB 设备 如手机 作为网卡 是基
  • 用Java开发贪食蛇小游戏

    用Java开发贪食蛇小游戏 一 实验内容 1 实现贪吃蛇游戏基本功能 屏幕上随机出现一个 食物 称为豆子 上下左右控制 蛇 的移动 吃到 豆子 以后 蛇 的身体加长一点 得分增加 蛇 碰到边界或 蛇头与蛇身相撞 蛇死亡 游戏结束 为游戏设计
  • Unity3D实现游戏暂停

    Unity3D实现游戏暂停 要素理解 代码 分析理解 要素理解 timeScale Float 默认值为1 能够影响时间流速 置0可使时间暂停 查阅官网文档 Time timeScale 中可以发现对于timeScale描述中要求暂停物体的
  • Hdu 1240 Asteroids题解

    题目链接 1240 思路 BFS搜索 采用队列实现 搜索的层级即为步数 代码如下 include
  • Linux虚拟环境安装cuda、cudnn、pytorch

    来自http t csdn cn WSvvX 1 创建虚拟环境 conda create n environment name 激活虚拟环境 conda cactivate environment name 2 安装cuda 首先查出源内所
  • 【Java】自建IOS应用(IPA)发布服务器

    简单描述一下总的过程 在某个后台上 版本发布平台 上传原始的ipa文件 解析ipa 主要是解析info plist 从中获取软件名 版本 icons等 解析embedded mobileprovision 获取证书过期时间 生成一个新的pl
  • 【限时免费】20天拿下华为OD笔试之【单调栈】2023Q1A-找朋友【欧弟算法】全网注释最详细分类最全的华为OD真题题解

    单调栈 2023Q1A 找朋友 题目描述与示例 题目描述 在学校中 N 个小朋友站成一队 第 i 个小朋友的身高为 height i 第 i 个小朋友可以看到的右边的第一个比自己身高更高的小朋友 j 那么 j 是 i 的好朋友 j gt i
  • SSH登录步骤

    SSH登录格式 ssh 用户名 ip地址 回车 比如 ssh root 0 0 0 1 如果需要切换用户 su 用户名 比如 su test1 从普通用户切换到root用户 可以使用sudo su 或 su
  • ingress是什么

    ingress是什么 需求 概念 详细说明 Ingress和Service的区别 注意点 需求 每个Service都要有一个负载均衡服务 所以这个做法实际上既浪费成本又高 作为用户 更希望看到Kubernetes为我内置一个全局的负载均衡器
  • 怎么制作睡袋rust_怎么不花钱自己在野外制作吊床—户外手工技能(吊床露营的好处)...

    当你想到露营的时候 你会想到什么形象 可能是帐篷 几十年来 帐篷和露营旅行确实已经密不可分 但最近这种感觉已经开始发生变化 因为出现了另一种露营方式 吊床 这样的吊床在中美洲和南美洲已经很常见了 但现在在设计和材料上经历了许多进步 越来越受
  • C#开发---Aspose.Word操作Word文档(一)

    目录 1 书签赋值 2 新起一行添加文本 3 查找文档内标题 4 往pdf中插入目录 1 书签赋值 提前创建好word文档 插入书签 在程序中给书签赋值
  • linux编程获取本机IP地址

    getifaddrs 和struct ifaddrs的使用 获取本机IP 博客分类 Linux C编程 ifaddrs结构体定义如下 C代码 struct ifaddrs struct ifaddrs ifa next Next item
  • VMware Ubuntu安装详细过程(详细图解)

    说明 该篇博客是博主一字一码编写的 实属不易 请尊重原创 谢谢大家 一 下载Ubuntu镜像文件 下载地址 http mirrors aliyun com ubuntu releases 16 04 进入下载页面 如下图选择版本点击即可下载
  • Android NDK 编译时出现make (e=2): 系统找不到指定的文

    今天编译一个so文件时出现如下错误 C Users xxj Desktop test OpenCamera gt ndk build armeabi v7a Compile SeetafaceSo lt face detection cpp
  • java中访问修_Java中常见的访问/非访问修饰符

    Java中常见的访问 非访问修饰符 Java中常见的访问 非访问修饰符 1 Java中有下列常见访问修饰符 private 私有变量和方法 非外部类 只能被声明它们的类的实例所使用 default 类中的数据 方法和它本身能够被声明为默认d
  • 如何新建Quartus工程—FPGA入门教程

    这一章我们来实现第一个FPGA工程 LED流水灯 我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程 从新建工程 代码设计 综合实现 管脚约束 下载FPGA程序 掌握本章内容 大家就算正式的开始入门FPGA开发了 1 1 2 新建工程
  • 老Java程序员花两天做了个消消乐(天天爱消除)

    老Java程序员花两天做了个消消乐 天天爱消除 引言 一直就想做一个消消乐 这次正好找到了素材 就自己琢磨写了一个 我觉得这个游戏难点就在消除 以及消除后的下落 其他的地方也就还好 这次做完了写个文章大家唠一波 效果图 实现思路 1 绘制窗
  • PostgreSQL

    PostgreSQL 是一个免费的对象 关系数据库服务器 ORDBMS 在灵活的BSD许可证下发行 PostgreSQL 开发者把它念作 post gress Q L PostgreSQL 的 Slogan 是 世界上最先进的 开源关系型数
  • VMware16虚拟机安装及配置(保姆级教程),这一篇就够了

    1 虚拟机VMware的下载官网地址 https www vmware com cn html VMware 安装 1 打开下载好的 exe 文件 即可开始安装 2 点击下一步 3先勾选我接受许可协议中的条款 然后点击下一步 4 自定义安装
  • 05-----撤销add,commit,push的方法(包括如何删除已经push到远程库的单个文件或者文件夹)

    1 撤销add添加的多余文件 git reset filename 撤销add到缓冲区的部分文件 2 撤销commit的多余文件 git log 先使用查看已经提交的commitId节点 git reset commit id 回退到上一个