代码之家  ›  专栏  ›  技术社区  ›  Alex Reds

GIT重设基覆盖了所有更改

  •  2
  • Alex Reds  · 技术社区  · 9 年前

    现在,由于我确信我在重设基础之前已经准备好并提交了我的更改,所以我认为有办法恢复这场灾难;但当我检查git reflog时,这是最重要的一行:

    问题是,此提交编号是11天前的,而不是今天的!

    所以我的问题是: -我今天的承诺在哪里?

    编辑:这是来自reflog的完整测试:

    $ git reflog
    2e73363 HEAD@{0}: rebase finished: returning to refs/heads/master
    2e73363 HEAD@{1}: rebase: checkout origin/master
    2ff234f HEAD@{2}: commit: added .classpath to commit
    8ddcf79 HEAD@{3}: commit: fixed few errrors
    e5a6da9 HEAD@{4}: commit: adding hibernate to DAO classes
    c6c10bf HEAD@{5}: commit: fixed problems with commit after detached head
    0e527a6 HEAD@{6}: commit (merge): added Spring Security
    f4ad11a HEAD@{7}: checkout: moving from tmp to master
    a0a1597 HEAD@{8}: checkout: moving from master to tmp
    f4ad11a HEAD@{9}: checkout: moving from new-branch to master
    f4ad11a HEAD@{10}: checkout: moving from master to new-branch
    f4ad11a HEAD@{11}: checkout: moving from master to master
    f4ad11a HEAD@{12}: checkout: moving from 96e7903b784ae435c042abab33939327b081c138 to master
    96e7903 HEAD@{13}: checkout: moving from master to 96e7903b784ae435c042abab33939327b081c138
    f4ad11a HEAD@{14}: checkout: moving from a0a1597361522b25f4c12463f1bfa2673721eb7b to master
    a0a1597 HEAD@{15}: checkout: moving from master to a0a1597
    f4ad11a HEAD@{16}: checkout: moving from a0a1597361522b25f4c12463f1bfa2673721eb7b to master
    a0a1597 HEAD@{17}: commit: commit from detached head
    c40dc30 HEAD@{18}: commit: added Spring Security to admin page
    96e7903 HEAD@{19}: checkout: moving from master to 96e7903b784ae435c042abab33939327b081c138
    f4ad11a HEAD@{20}: revert: Revert "commicommitt"
    96e7903 HEAD@{21}: checkout: moving from 96e7903b784ae435c042abab33939327b081c138 to master
    96e7903 HEAD@{22}: checkout: moving from master to 96e7903b784ae435c042abab33939327b081c138
    96e7903 HEAD@{23}: commit: commicommitt
    f9fc7a1 HEAD@{24}: merge refs/remotes/origin/master: Fast-forward
    ff7fc6d HEAD@{25}: commit (initial): Initial commit
    

    这是reflog master的输出:

    $ git reflog master
    2e73363 master@{0}: rebase finished: refs/heads/master onto 2e7336369502768f42174019bf1efbfc9b113d9f
    2ff234f master@{1}: commit: added .classpath to commit
    8ddcf79 master@{2}: commit: fixed few errrors
    e5a6da9 master@{3}: commit: adding hibernate to DAO classes
    c6c10bf master@{4}: commit: fixed problems with commit after detached head
    0e527a6 master@{5}: commit (merge): added Spring Security
    f4ad11a master@{6}: revert: Revert "commicommitt"
    96e7903 master@{7}: commit: commicommitt
    f9fc7a1 master@{8}: merge refs/remotes/origin/master: Fast-forward
    ff7fc6d master@{9}: commit (initial): Initial commit
    
    2 回复  |  直到 9 年前
        1
  •  1
  •   ryenus    9 年前

    你查过了吗 ORIG_HEAD ? 它可能仍然指向重新设置基准之前的分支头。

    然而 git reflog master ,或替换为分支,则应显示所有提交主机已打开。

        2
  •  0
  •   Alex Reds    9 年前

    好的,我解决了:使用 git reflog master ,我在重设基之前找到了提交编号;然后,我用 git reset --hard .

    推荐文章