如何将文件重置或恢复到特定版本?

2023-12-31

如何在特定的提交哈希(我通过确定)将修改后的文件恢复到之前的版本git log https://git-scm.com/docs/git-log and git diff https://git-scm.com/docs/git-diff)?


假设您想要的提交的哈希值是c5f567:

git checkout c5f567 -- file1/to/restore file2/to/restore

The git 结账 https://git-scm.com/docs/git-checkout手册页提供了更多信息。

如果你想恢复到之前的提交c5f567, 附加~1(其中 1 是您要返回的提交数,可以是任何值):

git checkout c5f567~1 -- file1/to/restore file2/to/restore

附带说明一下,我一直对这个命令感到不舒服,因为它既用于普通的事情(在分支之间进行更改),也用于不寻常的破坏性事情(丢弃工作目录中的更改)。

对于的意义--在命令中,参考在 Git 中,什么是--(破折号)是什么意思? https://stackoverflow.com/questions/22750028/in-git-what-does-dash-dash-mean


还有一个新的git restore https://git-scm.com/docs/git-restore专门用于恢复已修改的工作副本文件的命令。如果你的 git 足够新,你可以使用这个命令,但文档附带一个警告:

该命令是实验性的。行为可能会改变。

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

如何将文件重置或恢复到特定版本? 的相关文章

  • 致命:早期 EOF 致命:索引包失败

    我用谷歌搜索并找到了很多解决方案 但没有一个适合我 我试图通过连接到 LAN 网络中的远程服务器来从一台计算机进行克隆 从另一台机器运行此命令会导致错误 但是在服务器上使用 git 192 168 8 5 运行相同的克隆命令 一切正常并且成
  • 签出现有的远程分支

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

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • 尽管有 svn 复制,如何 git svn 克隆完整历史记录

    在我的公司 我们即将从 svn 切换到 git 我们使用的 SVN 非常大 没有 svn 布局 并且在每个版本拆分上我们都制作了一个 svn 副本 SVN存储库结构 svnserver company de product xy 主要版本号
  • 如何损坏 Git 存储库?

    创建损坏的 git 存储库有哪些方法 有没有有趣的方法可以永久损坏 git 存储库 你能否削弱一个 git 存储库 使其行为有些正常 但会做一些奇怪的事情 我的兴趣来自于当有人担心他们是否真的创建了不可恢复的状态时 它通常很容易修复或至少可
  • 提交项目时我应该包含 .project 和 .classpath 吗?

    当我将 Web 应用程序提交到源代码管理时 我还应该包含 project 和 classpath 文件吗 我不认为这应该有任何区别 因为使用该项目的其他用户应该具有相同的项目设置 这种问题会让人们在一场永无休止的辩论中陷入困境 你基本上有两
  • 如何使用 libgit2 创建空提交?

    我一直在寻找libgit2 C API 参考 https libgit2 org libgit2 但我不知道如何模仿git commit allow empty libgit2 是否有内置方法来创建空提交 如果没有 git 如何在底层创建一
  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • 为什么在 Eclipse 中对 Egit 管理的项目禁用合并工具?

    根据Egit 用户指南 http wiki eclipse org EGit User Guide Using Merge Tool 要使用合并工具 应右键单击存在合并冲突的资源 然后选择Team gt 合并工具 但是 当我执行此操作时 合
  • 如何在本地快速拉取拉取请求

    在合并拉取请求之前 我想在本地快速拉取请求并运行测试并测试一些内容 我还不想点击 gihub 合并拉取请求 我以为滑轮会有帮助http ejohn org blog pulley http ejohn org blog pulley 但我收
  • 返回到存储库中的特定修订后提交并推送更改?

    我们需要及时返回到某个特定的提交 一些意外的改变是为了掌握 尝试恢复它挖得太深 所以 master 的状态很糟糕 现在我们希望master回到66ada4cc61d62afc 根据git 恢复到某个提交 https stackoverflo
  • 如何使用 ClearCase 执行递归结帐?

    我想查看指定文件夹的所有子目录中的所有文件 使用 GUI 来执行此操作很痛苦 因为没有递归结帐选项 请注意 ClearCase 以文件为中心 而不是以存储库为中心 如 SVN 或 CVS 这意味着签出所有文件很少是一个好的解决方案 并且使用
  • 如何使用 vim 作为“git show”编辑器?

    全部如所述如何使用 vim 作为 git log 编辑器 https stackoverflow com questions 16666009 how do i use vim as git log editor不适用于 git show
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits
  • 致命:不是 git 存储库(或任何父目录):.git [重复]

    这个问题在这里已经有答案了 当我尝试推送 github com 上的现有存储库时 当我输入命令时 网站提示我将其输入终端 我收到了以下致命错误消息 Not a git repository or any of the parent dire
  • 按时间顺序将多个文件夹提交到 git 中

    我有数百个网站备份 每个文件夹一个 我想将它们放入 git 存储库中 每个备份作为一个版本 这些变化主要涉及图像文件和每天 2 个数据库备份 大小约为 25 GB 并且不断增加 有没有办法告诉 git 获取其中一个文件夹并将其提交到存储库中

随机推荐

  • 将 GraphML 转换为 GV 或 Dot 文件

    如何使用 graphml 文件作为输入在 graphviz 中绘制图形 I know graphviz附带graphml2gv为此目的 但是当我尝试从命令提示符运行此命令时 我收到此消息 cvtgxl not configured for
  • 如何在我的父 git 项目中使用 git 存储库?

    我尝试使用子模块将 github 存储库中的副本保留在我的第 3 方目录中 创建并获取文件后 当我从项目提交时 它只能看到文件夹 看不到文件 是的 文件在那里 有具体命令吗 在 GitHub 上 你只会看到一个灰色文件夹 https sta
  • Jackson 中的 readValue 和 readTree:何时使用哪个?

    我刚刚开始使用 Jackson JSON 库 Jackson 是一个非常强大的库 但它有非常广泛的 API 很多事情可以通过多种方式完成 这使得你很难在杰克逊找到自己的方式 如何知道什么是正确 最好的做事方式 为什么我要使用这个解决方案 S
  • C 中的递归函数:return 总是必要的吗?

    这是我第一次使用递归函数 我编写的这个函数如果仅包含按升序排列的字母 则返回字符串的大小 否则返回 1 在我取出第二个 返回 后 我不明白为什么它对这两个代码都有效 一个比另一个更浪费吗 希望有一些见解 with returnonly as
  • opencv4nodejs如何计算拉普拉斯方差的模糊度

    我有一个代码 const cv require opencv4nodejs let text let image cv imread images focused jpg let gray image cvtColor cv COLOR B
  • Apache Kafka 0.9.0.0 显示所有带分区的主题

    我目前正在评估 Apache Kafka 我有一个简单的消费者 应该从特定主题分区读取消息 这是我的客户 public static void main String args Properties props new Properties
  • Pyspark dataframe 获取列的所有值

    我想获取 pyspark 数据框中列的所有值 我做了一些搜索 但从未找到有效且简短的解决方案 假设我想在名为 name 的列中获取一个值 我有一个解决方案 sum dataframe select name toPandas values
  • 如何停止 Kubernetes 控制平面 Pod?

    只是好奇 使用 mesos 我已经习惯了能够做到这一点systemctl stop mesos master and systemctl start mesos master 如果我因某种原因需要退回 对于 k8s 控制平面中有多个组件需要
  • 检查端口是否开放

    我似乎找不到任何东西可以告诉我路由器中的端口是否打开 这可能吗 我现在拥有的代码似乎并不能真正工作 private void ScanPort string hostname localhost int portno 9081 IPAddr
  • 如何在Maven项目中包含本地jar文件[重复]

    这个问题在这里已经有答案了 我不想将一些 jar 安装到 Maven 存储库 本地 远程 中 特别是我有一些 jar 文件位于 c work projects myapp src main webapp WEB INF lib test j
  • Asciifolding 不起作用 Elastic Search Rails

    我在试图获得 阿斯奇折叠 为我的 Rails 应用程序工作 我想搜索包含 的单词accented 例如我想要的字符 for ige 当我搜索时出现 foroige 我已经尝试了很多事情 下面是其中的一些 analysis analyzer
  • Cocoa:WKWebView / WebView 无法打开 Gmail 或 Inbox 内的链接

    我是开发者Boxy http boxyapp co 一个著名的 Inbox by Gmail 原生包装器 我想询问是否有人能够帮助解决我从开发第一天起就一直在努力解决的问题 问题是这样的 链接inbox google com http in
  • Newtonsoft转义JSON字符串无法反序列化为对象

    问题背景 我通过 HttpResponseMessage 接收 JSON 响应 如下所示 var jsonString response Content ReadAsStringAsync Result 这给了我以下简单的转义 JSON 字
  • Python 中“with”语句的语法无效

    我正在为 linux maemo 编写一个简单的 python 应用程序 不过我得到了SyntaxError invalid syntax第 23 行 with open file w as fileh 代码可以在这里看到 http pas
  • 如何查看一个类是否实现了 Roslyn 接口

    我还是新来的Roslyn 所以希望这不是一个太愚蠢的问题 我正在寻找一种观察的方式如果一个类已经实现了接口的所有方法如果没有 则突出显示该接口 就像内置的 实现接口 一样 到目前为止 我可以查看方法名称是否已实现 但我还没有找到一种方法来查
  • std::pair:构造函数限制太多?

    我偶然发现了新的令人惊讶的行为std pair构造函数 是 C 11 中引入的 我在使用时发现了这个问题std pair
  • 如何在与程序相同的文件中声明和使用 Perl 6 模块?

    有时我不需要多个文件 特别是当我想保留一个可以在以后变成其他东西的良好结构的想法时 我想做这样的事情 module Foo sub foo Int D number is export say In Foo foo 137 运行这个 我得到
  • 使用elasticsearch-spark连接器从spark读取ES:返回所有字段

    我已经使用elasticsearch spark 连接器在spark shell 中做了一些实验 调用火花 SPARK HOME bin spark shell master local 2 jars spark jars elastics
  • 使用 System.IO.Directory.CreateDirectory() 时出现 FileNotFoundException

    我在 Azure 上运行 net 应用程序时遇到问题 使用 CreateDirectory 方法时 会抛出 FileNotFoundException 并显示消息 无法找到文件 D home site wwwroot CVs 该应用程序在本
  • 如何将文件重置或恢复到特定版本?

    如何在特定的提交哈希 我通过确定 将修改后的文件恢复到之前的版本git log https git scm com docs git log and git diff https git scm com docs git diff 假设您想