使用 git Reset 转到较旧的变更集后,如何返回到历史记录中的最后一次提交?

2024-02-06

假设我的历史是这样的:

A-B-C-D(主)

If I do git reset B,我会得到:

A - B(主)

麻烦的是,git log现在只向我显示从A到B的历史,而我再也看不到C和D了。

我怎样才能回到D?


您应该能够看到 Dgit reflog http://www.kernel.org/pub/software/scm/git/docs/git-reflog.html.

看到这个例如文章 http://gitfu.wordpress.com/2008/04/06/git-reflog-no-commits-left-behind/.

唯一一次真正删除提交的是 git gc --prune (所以要小心那个!)。

如果您现在在您一直在使用的存储库中运行 git reflog,您将看到许多如下所示的更改:

c5c3a82... HEAD@{0}: pull origin featureB: Merge made by recursive.
49d0608... HEAD@{1}: reset --hard HEAD^: updating HEAD
3ed01b1... HEAD@{2}: pull origin featureA: Merge made by recursive.
49d0608... HEAD@{3}: pull origin bugfixJ: Merge made by recursive.
854d44e... HEAD@{4}: commit: Add more cowbell to foo.c
6dbc22d... HEAD@{5}: pull origin bugfixI: Merge made by recursive.
9bdb763... HEAD@{6}: commit: Remove weevils
8518f9d... HEAD@{7}: checkout: moving from wickedfeature to master

这些行可以分为 4 部分:

  • 提交哈希值,
  • 提交指针,
  • action,
  • 和额外信息。

如果我们想找回丢失的提交HEAD@{1},我们可以git reset --hard HEAD@{2}.
现在,我们当前的分支(和工作副本)在重置之前已设置为存储库状态。

如果我们只想看看那个状态是什么,我们可以git checkout -b temp HEAD@{2} (or git checkout HEAD@{2}如果您有 git 1.5.0 及更高版本)。

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

使用 git Reset 转到较旧的变更集后,如何返回到历史记录中的最后一次提交? 的相关文章

  • 如何使用 Groovy 获取自上次成功构建以来 Jenkins 的提交信息?

    如何编写自定义 groovy 脚本以轻松操作自上次成功构建以来所有提交的数据 在 gradle maven 步骤之后添加新的构建步骤 gt 执行系统 groovy 脚本 适配代码 import com tikal jenkins plugi
  • 回购:找不到命令?

    我是 git 和 repo 的新手 我使用的是window 7 所以我使用cygwin 我已经从 cygwin 安装程序安装了 git 之后我尝试在 cygwin 中使用以下命令进行存储 repo init u git android gi
  • 如何使用 vim 作为“git log”编辑器?

    当我跑步时git log 编辑器到底是什么git log正在使用 Also 无论如何我可以使用吗vim作为我的默认编辑器git log 如果我想搜索 git 日志 最好的方法是什么 现在我正在做类似的事情 git log grep bla
  • 无法使用 Git Bash 对 Visual Studio Team Services 进行身份验证

    由于身份验证失败 我无法对 Visual Studio Team Services VSTS 上的远程存储库运行任何命令 我可以通过 Visual Studio 进行拉取等操作 但只能通过 Visual Studio 不通过 Git Bas
  • Git 将开发分支与生产版本的主分支合并

    我正在使用 Git 进行代码版本控制 我有一个开发分支 我正在其中进行所有肮脏的开发 每次我向世界发布生产版本时 我都想将其放在我的 master 分支下 问题是 每当我合并开发和 master 时 master 都会收到所有开发历史记录
  • Git 存储库错误并显示消息,它不是存储库...但它是

    我有一个 git repo 去年我一直在同一个盒子上使用 今天我跑步git status并得到错误消息 fatal Not a git repository or any parent up to mount parent home Sto
  • 如何保持 git 存储库的公共和私有版本同步?

    我正在 Github 上发布一个开源 Rails 应用程序 可能是 MIT 许可证 我还想维护一个项目的私人分支 分支 我们将使用它作为付费服务的一部分 在这种情况下组织存储库的最佳方式是什么 而且 当我有两个项目的更新时 如何保持项目同步
  • 中止 `git stash apply` [重复]

    这个问题在这里已经有答案了 我很遗憾应用了存储 错误的分支 我如何撤消此操作并将我的存储返回到我的存储列表 以便稍后将其应用到正确的分支 如果你还没有承诺 你应该能够git stash再次 可能与git reset HEAD first A
  • Git Add - 致命:添加文件失败

    我的 git cmd exe 窗口如下所示 git add NextFolder error unable to create temporary file No such file or directory error NextFolde
  • egit:设置gitignore忽略所有eclipse项目文件

    我在 github 上有一个项目 我想从中删除所有与 eclipse 相关的文件 并允许克隆它的人使用他们想要的任何 ide 这是该项目 https github com vedi0boy Archipelo https github co
  • 我可以将我的heroku git repo导入bitbucket吗?如何?

    我的笔记本电脑坏了 我需要从另一台计算机上编码 我正在使用 Heroku 我想将最新版本的代码从 Heroku 获取到另一台机器 据我了解 强烈建议使用 GitHub 或 BitBucket 获取适当的远程存储库 我决定尝试一下 BitBu
  • VS2013 - GIT 不工作

    我最近安装了VS2013 每当我尝试使用 GIT 执行任何操作时 我都会在输出窗口中收到以下两条消息 libgit2 引发错误 类别 未知 错误 本机库未提供错误消息 该问题可能主要出现在远程存储库获取中 在克隆远程存储库之前 请打开远程
  • Git:如何维护项目的两个分支并仅合并共享数据?

    假设我有一个项目的两个分支 IMClient MacOS 和 IMClient Windows 它们的代码仅 比方说 一个目录 main 有所不同 所有其他目录都包含与系统无关的代码并且可以互换 有些工作人员在 Windows 版本上工作
  • 在功能分支上运行测试

    我有一个构建配置 其中包含连接到 git 分支的测试 VCS 根dev 3 个构建步骤和 1 个触发器 这些是我的构建步骤 构建测试 运行测试 构建和部署 我想为分支运行所有这些构建步骤dev但只有其中两个 构建和运行测试 用于分支匹配fe
  • 如何将 git-svn 与 svn+ssh url 一起使用

    我喜欢在cygwin中使用git svn clone使用我们公司 svn 存储库的命令 这个的网址是svn ssh svn
  • 如何设置“阅读文档”以使 Sphinx autodoc 选项发挥作用?

    我的项目不是使用 autodoc 构建的 我遇到了关于我的项目未在 autodoc 中构建的常见问题 https read the docs readthedocs org en latest faq html my project isn
  • Windows 上的 git 忽略文件名大小写更改 [重复]

    这个问题在这里已经有答案了 我有一个reactjs应用程序 我正在将所有文件名标准化为小写以符合Nodejs 最佳实践 https devcenter heroku com articles node best practices stic
  • 如何列出未推送的 Git 提交(本地但不在源上)

    如何查看我所做的 尚未推送到远程存储库的任何本地提交 偶尔 git status将打印出我的分支是X提交之前origin master 但不总是 这是我安装的 Git 的错误 还是我遗漏了什么 这给出了 origin master 和 HE
  • Git 与人工制品

    刚刚完成 NPM 和 Bower 的 Artifactory 设置 它非常容易使用 您只需更改存储库 URL 一切就正常了 查看有关如何让 Artifactory 与 github vcs 一起使用的文档 它看起来过于复杂 我想知道是否有人
  • 如何将一个文件存储库上传到 Gist,并保留历史记录?

    我的计算机上有一个包含单个文件的 Git 存储库coins py 我如何才能将其作为 Github 上的要点来保存历史 这其实很简单 您可以将现有历史记录移动到 Gist 存储库中 就像将其移动到任何其他存储库中一样 创建要点 只需输入一些

随机推荐

  • 使用 Id 与对象的 EF 外键引用

    使用 Id 的外键引用与使用对象的外键引用有什么区别 例如 使用 Id 的 FK 关系 class Product public int Id get set public string Name get set public string
  • 如何从 axios 获取在 node.js 中接收 iso-8859-1 的 utf-8 值

    我有以下代码 const notifications await axios get url const ctype notifications headers content type ctype 接收 text json charset
  • 关于 的 WCF 服务配置文件问题

    据我所知 在 IIS 中托管 WCF 服务时 该标记会被忽略 我知道当自托管时这是必需的 但是这是否有害 甚至在 IIS 下操作时使用 ex
  • 我应该如何处理pushsubscriptionchange事件?

    根据规格 https www w3 org TR push api the pushsubscriptionchange event a pushsubscriptionchange事件表示 推送订阅已失效 或即将失效 处理此事件的最佳做法
  • 如何使文件防篡改? [复制]

    这个问题在这里已经有答案了 我有一个 计划中的 商业程序正在写出使用日志 作为许可证的一部分 用户将被要求每隔几周将日志提交回公司 如何确保文件没有被篡改 系统是用 C 和 Winforms 或 WPF 编写的 Update 嗯 很惊讶如何
  • 自动删除 Amazon S3 中超过 n 天的对象(如何操作?)

    我在 Amazon S3 中存储许多图像 使用 ruby 库 http amazon rubyforge org http amazon rubyforge org 我不关心超过 1 周的照片 然后为了释放 S3 中的空间 我必须删除这些照
  • XPath lowercase() 函数

    我使用 XPATH 从 XML 文档中选择某些节点 用户能够插入该位置的值 它工作正常 但如果使用不同的情况 它就不起作用 我决定在比较之前将 XML 值和用户输入更改为小写可能是最好的方法 我目前将其作为我的选择器 NodeIter na
  • 如何检测 Windows 7 调整了窗口大小

    问题 1 如何检测窗口 WPF 的大小已调整航空快拍 http en wikipedia org wiki Windows Aero 然后我可以忽略新的大小和位置 感谢您提前的答复和评论 退出时 调用获取窗口位置 http msdn mic
  • Python:使用 smtplib 模块发送电子邮件时未显示“主题”

    我能够使用 smtplib 模块成功发送电子邮件 但发送电子邮件时 发送的电子邮件中不包含主题 import smtplib SERVER
  • 每组最高

    在这里很难显示我的实际表和数据 因此我将用示例表和数据来描述我的问题 create table foo id int x part int y part int out id int out idx text insert into foo
  • 如何将 angular2 中的秒转换为时间字符串?

    因此 我一直在整个网络中寻找此功能 但没有找到可以用来将秒转换为可以表示为字符串的年 月 日 小时 分钟和秒的解决方案 我已经提出了 Angular2 中的 Pipe 解决方案 但是我想获得一些关于可以做得更好的事情的反馈来改进它 而且也许
  • 单个列表中的近似字符串匹配 - r

    我在一个长列表中包含数千个名字的数据框中列出了一个列表 许多名称都有细微的差别 这使得它们略有不同 我想找到一种方法来匹配这些名字 例如 names lt c jon smith jon smith Jon Smith jon smith
  • jsTree - 通过ajax按需加载子节点

    我正在尝试让 jsTree 能够按需加载子节点 我的代码是这样的 jQuery introspection tree jstree json data ajax url http localhost introspection intros
  • git推送认证失败

    我正在尝试从我的内部推送编辑任何地方的Python http www pythonanywhere comGitHub 上的原始主机的 hosting 帐户失败 它要求我提供 GitHub 用户名和密码 尽管提供了正确的凭据 它仍显示以下错
  • 如何将密码查询合并到 Py2neo v3 中的事务中

    在 py2neo v2 0 中 可以使用事务来执行 Cypher 语句 tx graph cypher begin tx append MERGE n Process proc nm proc nm ON CREATE SET n coun
  • 过滤 SQL 列中仅包含数字数据的行

    我在尝试着SELECT通过应用仅识别数字列的过滤条件 可以在表中显示行 这是一个仅报告的查询 因此我们最不关心性能 因为我们没有编译 PL SQL 的权限 无法检查TO NUMBER 并返回是否为数字 我必须用SQL来实现它 该列也具有这样
  • 在Python中模拟模拟对象的方法?

    我正在为一个用 Python 3 4 编写的项目编写单元测试 使用unittest mock图书馆 我正在测试的函数包含对函数的调用 versions get all versions some argument 我已经用一个修补程序Mag
  • iOS - 以编程方式获取当前正在播放的项目队列

    我想以编程方式获取当前在本机音乐应用程序中播放的队列 我可以用MP音乐播放器控制器获取当前正在播放的项目 但我不仅想获取该项目 还想获取整个播放队列 是否可以使用AV基金会或任何其他图书馆 我很确定这是不可能通过任何公共 API 实现的 s
  • 当output_dir包含空格时使用Rmarkdown生成PDF文档时出错

    这是一个最小的工作示例 名为mwe Rmd output pdf document latex engine xelatex keep tex TRUE header includes usepackage space grffile r
  • 使用 git Reset 转到较旧的变更集后,如何返回到历史记录中的最后一次提交?

    假设我的历史是这样的 A B C D 主 If I do git reset B 我会得到 A B 主 麻烦的是 git log现在只向我显示从A到B的历史 而我再也看不到C和D了 我怎样才能回到D 您应该能够看到 Dgit reflog