总结:Git 撤销操作

2023-11-12

1、还未添加到暂存区:git checkout -- filename

执行命令后,会回退到未修改之前的状态

2、已经添加到暂存区:git reset HEAD filename

执行命令后,会回退到工作区之前的状态

3、已经 commit,但是还未 push

 git reset --hard 965e46508c88971d13760ef612ef2a417fc5c1a0

4、回到未来

当后悔撤销某个提交之后,也可以使用 git reset --hard,后面加上需要回到味道的版本的 commitid 就可以了。

慎用:git reset --hard d1aba09ca

但是上面的命令要慎用!会将d1aba09ca之后的提交的代码在本地都清空掉!但是暂时不会修改远端。

不知道未来的 ID 怎么办?

git reflog:记录你的每一次命令,包括未来的。

5、撤销 push

git reset 04310dd1

这个命令将本地回退到push之前的状态,

 可以git status看效果:

 

然后用git push --force命令,将本次代码再次推送到远端。

由于远端代码之前已经提交过,本次会强制覆盖远端,并且也会覆盖远端的commit记录,如下图所示,是最新一次的:变成了两次提交,之前是只有一次提交,我这把将本地改成两次提交。

 

 

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

总结:Git 撤销操作 的相关文章

  • 执行 rebase 后,Git 提交会在同一分支中重复

    我理解 Pro Git 中提出的场景是关于变基的危险 https git scm com book en v2 Git Branching Rebasing rebase peril 作者基本上告诉你如何避免重复提交 不要对已推送到公共存储
  • GITLAB SSL证书问题:无法获取本地颁发者证书

    我正在尝试在 gitLab 中推送我的第一个项目 但出现此错误 致命 无法访问 https git SSL证书问题 无法获取本地颁发者证书 最后我在这里找到了解决方案https newbedev com invalid ssl certif
  • `.gitignore` 用于具有 Android 目标的 Ionic 项目

    我正在使用 Capacitor 创建一个 Ionic 项目 编辑 与 Cordova 相比更新的推荐框架 并添加 Android 作为目标 我已经能够构建应用程序并添加 Android 目标 这会在android using ionic b
  • 为什么 git 在 git add 上出现“断言失败”错误?

    我分叉了一个存储库 然后将其克隆到我的 Mac 上 YATC目录 我在另一个目录中有一个先前创建的 Xcode 项目 TwitterTimeline 我将其复制到 YATC directory I did git add 在 YATC 目录
  • 预提交钩子 git 错误

    我正在尝试在 python 中执行预提交 git hook 以检查文件的行长度是否小于 80 个字符 但是我收到没有此类文件 目录的错误 我在 fedora 上并设置了 usr bin python help 将不胜感激 usr bin e
  • 从 bazaar 转换为 git 并同步它们的正确方法

    我在 bazaar 中有一个开发存储库 我想将其转换为 git 并保持同步 我需要这个 因为我将与不了解 bazaar 的人分享我的代码 首先我需要将我的 bazaar 存储库转换为 git 我用谷歌搜索了一下 发现this http as
  • git commit 给出错误:空提交集已通过

    当尝试恢复到以前的提交时 我尝试了 git revert no commit 0766c053 HEAD 然而这给出了一个错误 empty commit set passed 问题 该错误是什么意思 以及出了什么问题revert命令 删除
  • Git Grep 颜色选项解释和/或比较

    我正在尝试自定义我的 Git 颜色 读完后文档 https git scm com docs git config 我找到了我想要设置的选项 除了 Grep 之外 一切都工作正常 我意识到 我过去并没有真正使用过它 我想用相同的调色板为其设
  • Capistrano 3 运行每个命令两次(新安装)- 配置问题

    我刚刚完成第一次 Capistrano 安装 大部分内容都保留为默认设置 我配置了我的服务器 其身份验证 远程文件夹以及对 git 存储库的访问 我使用 capistrano 将 php 代码部署到我的服务器 上限分期部署 and 上限生产
  • 如何修复 GitHub 拉取请求中被 git rebase 破坏的提交顺序?

    当我编写代码时 我会将其分解为小的逻辑更改 以便轻松快速地进行审查 为此 我使用git rebase i 交互式 压缩 删除和更改提交的顺序 我注意到这有时会导致 GitHub 拉取请求的提交顺序不同 尽管该顺序保留在远程分支上 例如 co
  • git log over 使用 --follow 时限制输出? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 在以下服务
  • Git Bash Shell 可以使用默认的 Windows 快捷方式进行复制和粘贴吗?

    我希望能够使用 Ctrl C 和 Ctrl V 复制并粘贴到 Git Bash Shell 中 但是 shell 具有 Ctrl Insert 和 Shift Insert 作为这些操作 我没有看到更改这些快捷键的明显方法 我错过了一些明显
  • 如何从 Visual Studio 2013 将现有解决方案添加到 GitHub

    我浏览了许多关于 VS 2013 中新的 Git 集成的网页 它们不涉及向 Github 添加现有解决方案 事实上 我找不到太多关于使用 GitHub 而不是 Visual Studio Online 的信息 谁能告诉我如何从现有解决方案开
  • GIT Rebase 对多个 0.5GB 二进制文件致命

    这个问题本质上是重新开rebase 期间 git 崩溃 https stackoverflow com q 7692944 1286639从来没有答案 我正在尝试从我的 secc 分支进行变基 git rebase main First r
  • 将 git 与 svn 一起使用的好习惯

    Subversion 几年前就很流行 现在 git 也开始流行 越来越多的人想用 git 取代 Subversion 问题是很多项目都是基于 Subversion 的 所以问题是如何将 git 与 Subversion 一起使用 不要完全取
  • 将 WordPress 保持在版本控制中 - 主题的单独存储库

    我的 WordPress 项目位于 Git 下 并将 WordPress 作为子模块 我想将主题开发保留在单独的子模块中 但在当前设置内 将主题设置为子模块时遇到一些困难 这是我的文件系统 git master repo index php
  • git-svn 期间“RA 层请求失败:REPORT 请求失败”

    我一直在尝试使用以下命令 Git 克隆 Google Code SVN 存储库 git svn clone stdlayout https wtorrent project googlecode com svn wtorrent git 它
  • 如何使用 jenkins shell 创建新的 git 分支

    我想达到以下目标 在某些詹金斯工作中 从 dev branch 创建一个新分支 对新创建的分支 new branch 进行一些更改 将新创建的分支推送到 git repo 我在詹金斯中执行了以下步骤 我已经在 源代码管理 部分配置了我的 g
  • 使用 GitHub 时防止将大文本文件添加到提交

    我们想要防止 非常大的文本文件 每个文件 gt 50MB 被提交到git代替git lfs 因为它们夸大了 git 历史 问题是 其中 99 大小差异的原因 这些是 YAML 文件 它们支持通过 Base64 编码进行二进制序列化 我们无法
  • 如何删除“致命:松散物体”?

    我的一个克隆存储库是从 git fsck 获取的 致命 松散对象 40bda4e3b79c3d7bf598df31d9e68470f97a3f79 存储在 git objects 40 bda4e3b79c3d7bf598df31d9e68

随机推荐

  • java 根据word文档模板导出word

    1 创建word模板 2 动态数据占位 格式 xxxxx 3 点击另存为xml格式 4 修改后缀名为ftl 5 导入到idea中 6 修改文件编码为utf 8 7 复制模板内容在线代码格式化 8 编辑模板中内容 如果有空值会报错 可以 xx
  • R-应用流行病学和公共卫生-5.导入

    rio包 我们推荐的 R 包是 rio 名称 rio 是 RI O 输入 输出 的缩写 它的功能import 和export 可以处理许多不同的文件类型 例如 xlsx csv rds tsv 当您提供这些函数的文件路径 包括 csv 之类
  • 【React】hooks的原理

    https medium com ryardley react hooks not magic just arrays cd4f1857236e 参考了这篇文章 对hooks的实现有初步的了解 具体的还是得研究一下官方的 这篇文章用了一个简
  • pptp和l2tp有什么区别

    PPTP协议是点对点隧道协议 其将控制包与数据包分开 控制包采用TCP控制 用于严格的状态查询及信令信息 数据包部分先封装在PPP协议中 然后封装到GREV2协议中 L2TP是国际标准隧道协议 它结合了PPTP协议以及第二层转发L2F协议的
  • 转:基于 Python 和 Scikit-Learn 的机器学习介绍

    我叫Alex 我在机器学习和网络图分析 主要是理论 有所涉猎 我同时在为一家俄罗斯移动运营商开发大数据产品 这是我第一次在网上写文章 不喜勿喷 现在 很多人想开发高效的算法以及参加机器学习的竞赛 所以他们过来问我 该如何开始 一段时间以前
  • 7天学完Spring:基础学习结束,关于Spring事务及其传播机制

    目录 前言 一丶Spring中事务的实现 lt 1 gt MySQL中的事务使用 回顾 lt 2 gt 手动操作事务 lt 3 gt 自动操作事务 1 gt 作用域说明 2 gt 参数说明 3 gt Transactional 工作原理 二
  • PPPoE Server防止ARP***

    在一般情况下 只要有一台计算机感染ARP病毒就可能造成此网段中所有计算机上网时断时续或缓慢等其它不正常现象 为了保障网络正常运行 针对ARP病毒的猖獗和破坏性 我们也已有一些应对措施 这些措施有的尽管能解一时之急 但不能从根本上彻底解决问题
  • HIVE-执行命令的几种方式 和 hive -e 和hive -f的使用

    第一种 在bash中直接通过hive e命令 并用 gt 输出流把执行结果输出到制定文件 hive e select from test hour rate2 where year 2019 gt tmp output 1 txt 第二种
  • 流明(lux)和坎德拉;

    流明是光照度 坎德拉是光强 流明是光通量的单位 cd是光强单位 光强是单位立体角的光通量 照度是单位面积的光通量 尼特是亮度单位 1尼特 1CD m 2 1 lx 1 流明每平方米 面发光度 光照度 纸面的反射系数 发光强度1坎德拉 cd
  • C++中for( : )用法

    常用的遍历数组的写法 随机定义的数组 int array 10 1 2 3 4 5 6 7 8 9 10 for int i 0 i lt 10 i cout lt lt array i lt lt 输出 1 2 3 4 5 6 7 8 9
  • Vuex安装时报错“Could not resolve dependency: npm ERR peer vue@“^3.0.2“ from vuex@4.0.2”

    报错的原因 安装的版本过高的原因造成的 解决方法 1 可以npm view vuex versions json查版本 找适合的版本 不要最新的 2 npm install vuex 3 6 2 save根据版本下载 这样就可以了
  • 第七届蓝桥杯省赛C++A/B组 最大比例

    X星球的某个大奖赛设了 M 级奖励 每个级别的奖金是一个正整数 并且 相邻的两个级别间的比例是个固定值 也就是说 所有级别的奖金数构成了一个等比数列 比如 16 24 36 54 其等比值为 3 2 现在 我们随机调查了一些获奖者的奖金数
  • sprintf, snprintf, _snprintf, sprintf_s 等的区别

    先放结论 1 在支持snpritf的编译器 只使用int snprintf char buffer size t count const char format argument 无论成功或者失败 都会返回字符串的总长度 不包括结束符 如果
  • 计算机网络之网络层

    网络层涉及的问题 1一般是网关 18 是外网 内网有两类 1 存储转发包交换 2 提供给传输层的服务 3 非连接服务的实现 4 面向连接服务的实现 5 虚电路和数据包的比较 OSPF开放式最短路径优先 自治域 cisco路由器 4种延迟 传
  • 批量修改文件夹名称——规则重命名(Excel+Python脚本两种方式)

    批量修改文件夹名称 场景 在进行神经网络训练的时候 有些时候获取到的数据集的命名是不规则的 不便于直观理解数据的结构 由此需要进行批量重命名 本文提供Excel Python脚本两种方式 Excel 如下图所示 文件是命名是乱序无规则的 在
  • QT信号槽跨线程传递QDataStream问题

    第一点 查看QDataStream类 可以发现这一句 Q DISABLE COPY QDataStream Q DISABLE COPY是QT的一个宏 顾名思义 意思为禁用拷贝构造函数 如果要知道这个宏的实现 可以继续F2 所以第一个结论
  • Android 全局异常处理之UncaughtExceptionHandler

    在日常开发中可能有需要将机器奔溃日志保存本机 以便保存到本地 那么该如何做呢 实现UncaughtExceptionHandler接口 public class ApplicationCrashHandler implements Thre
  • upload-labs 环境搭建(docker)

    1 切换到root用户 2 在docker镜像仓库搜索upload labs镜像 3 下载镜像 4 查看本地镜像库 看是否下载成功 如下图就有了下载的镜像 5 运行镜像 生成镜像 docker run d p92 80 镜像id 92端口是
  • Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置

    目录 概述 新建虚拟机 安装Ubuntu 安装后重启失败 联网设置 修改分辨率 概述 主要参考讯为的教程 没有使用讯为提供的镜像 为了自己动手把相关工具安装一遍 采用了官方的Ubuntu18镜像 过程中与教程难免存在差异 遇到问题再针对解决
  • 总结:Git 撤销操作

    1 还未添加到暂存区 git checkout filename 执行命令后 会回退到未修改之前的状态 2 已经添加到暂存区 git reset HEAD filename 执行命令后 会回退到工作区之前的状态 3 已经 commit 但是