恢复 - git reset --hard HEAD^

发布于 2024-09-10 02:32:18 字数 109 浏览 5 评论 0原文

不幸的是,我做了几次 git reset --hard HEAD^ ,在几个文件中丢失了相当大的代码块。有没有办法恢复这些提交,或者在这种情况下转发 HEAD 之前的位置,这样我就可以调出我丢失的那些行?

Unfortunately I did several times git reset --hard HEAD^ losing a quite big chunk of code in several files. Is there a way to restore those commits or in this case to forward where the HEAD was before, so I can bring up those lines that I lost?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

懒的傷心 2024-09-17 02:32:18

使用 reflog 恢复 sha1前一个 HEAD。特别是文章 reflog,你的安全网 将与您特别相关。摘自那篇文章:

此命令最常见的用法是您刚刚执行了 git reset 并将 HEAD 移回了一些提交。但是哎呀,您需要在第二次提交中留下的那段代码。废话。现在怎么办?

找到要返回的提交的 sha1 后,请使用以下内容:

git reset --hard 0a1b2c

Use the reflog to recover the sha1 of the previous HEAD. In particular, the article reflog, your safety net will be particularly relevant to you. From that article:

The most common usage of this command is that you’ve just done a git reset and moved your HEAD back a few commits. But oops, you need that bit of code you left in the second commit. Crap. Now what?

Once you have found the sha1 of the commit you want to go back to, use something like:

git reset --hard 0a1b2c
小兔几 2024-09-17 02:32:18

如果您刚刚提交了代码并且想要撤消该操作,请运行 git reset --hard HEAD@{1}

请参阅 http://book.git-scm.com/4_git_treeishes.html 中名为“Ordinal Spec”的部分

Run git reset --hard HEAD@{1} if you just committed your code and you want to undo that.

See Section called "Ordinal Spec" at http://book.git-scm.com/4_git_treeishes.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文