【问题标题】:Undo git command - reset head (hard) in android studio撤消 git 命令 - 在 android studio 中重置头(硬)
【发布时间】:2016-04-23 11:17:00
【问题描述】:

我在 android studio 中重新设置了一些提交,并选择了重置类型为 hard。我失去了一个星期的工作。有没有希望撤消这件事?我正在使用 android studio,它具有内置的 GUI 选项来执行所有与 git 相关的功能,所以我从未使用过 git bash(或任何用于 git 的终端)。有一个解决方案here,但它使用终端,所以我再次询问是否有人知道如何使用 android studio 本身来做到这一点。

【问题讨论】:

  • git reflog 是你的朋友。
  • @1615903 我正在使用 android studio。是否有 GUI 按钮或其他东西,或者我需要使用 git bash?那个答案并没有说android studio是否有GUI来做,所以我又问了。我从未使用过 git bash
  • @Shreyans 我明白了 - 撤回了我的近距离投票。

标签: android git github version-control


【解决方案1】:

您可能可以使用 Android Studio 的本地历史来恢复更改。右键单击项目的根目录,选择 Local History |显示历史... 从菜单中。在历史记录中,您会找到与您执行的“git reset”命令相对应的“外部更改”条目。您可以选择下面的条目,然后按“还原”按钮。

【讨论】:

    【解决方案2】:

    阅读完整答案here - How to move HEAD (checkout, revet, reflog, reset)

    附加答案摘要

    (read it through to get a very detailed answer):


    git checkout

    git checkout <commit_id>
    

    git reflog

    您也可以随时使用reflog

    git reflog
    git checkout HEAD@{...}
    

    这会让你回到你想要的提交


    git reset HEAD --hard &lt;commit_id&gt;

    “移动”你的头回到所需的提交。

    # This will destroy any local modifications.
    # Don't do it if you have uncommitted work you want to keep.
    git reset --hard <sha-1>
    

    git checkout

    git checkout -b <new branch> <commit_id>
    git checkout HEAD~X // x is the number of commits t go back
    

    这将检查指向所需提交的新分支


    【讨论】:

    • 感谢您提供非常详细和翔实的回答!我知道这比接受的答案要付出更多的努力,但考虑到我是 git bash 的菜鸟,我想要一个可以使用 android studios GUI 的解决方案,所以我接受了另一个答案
    • Np。感谢您的赞赏。
    猜你喜欢
    • 2019-03-18
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 2011-04-20
    • 2011-06-21
    • 2021-11-03
    相关资源
    最近更新 更多