【问题标题】:Design goes awry, after checkout to earlier commit on popping stash设计出错,结帐后提前提交弹出存储
【发布时间】:2016-07-14 11:16:32
【问题描述】:

在我弹出隐藏的 repo 后,我的设计 (html/css) 发生了变化/出错。

这就是我所做的。为了临时尝试一下,

  1. 我做了一个git stash
  2. 然后,检查到较早的提交git checkout fd3243d,但没有进行任何更改。
  3. 马上git stash pop

现在,令我恐惧的是(那种下沉的感觉),当我在浏览器中刷新设计时,它完全出错了,在最上面显示的是

<<<<<<< Updated upstream ======= >>>>>>> Stashed changes <<<<<<< Updated upstream ======= >>>>>>> Stashed changes

anybuddy 可以帮我回到第一步之前的状态,即在我做git stash 之前?

我没有任何备份,并且上次提交是在很久以前完成的。我有一种感觉,这是可以做到的,但不知道怎么做,因为我对 git 很陌生。

有朋友可以帮忙吗? 谢谢 dk

【问题讨论】:

  • 听起来很棘手,我希望我现在可以帮助您,但恐怕您可能不得不手动解决冲突或放弃您的更改。下次使用git stash apply,这样您就可以在堆栈中保留您的更改,然后您可以在确定您已完成它们时使用git stash drop。这将使您可以轻松地git reset --hard
  • 好消息:似乎在发生冲突时执行git stash pop 不会更改存储,q.v。 here。检查你的藏匿处,看看你的工作是否还在。如果是这样,只需到正确的地方结帐并再次弹出我的朋友。
  • 您介意评论或接受提供的答案吗?
  • 嗨,我已经删除了那个目录,因为我有备份。但是,在了解更多 abt git 之后,我 98% 确信您的解决方案很可能会解决我面临的问题,因此我将其标记为正确。感谢您抽出宝贵时间提供帮助。

标签: git git-stash git-checkout


【解决方案1】:

假设您在执行以下步骤之前位于 ma​​ster 分支:

  • 检查您隐藏的更改是否仍在隐藏中。 Git 不会弹出(删除)无法干净应用的存储

    git stash list
    

    如需更详细的检查,请尝试:

    git stash show stash@{<the-number-behind-your-stash>}
    
  • 应该是这种情况(否则对此答案的编辑将解释如何挽救您的更改)

  • git reset --hard 返回 ma​​ster(或您的存储创建的任何其他分支)。您可以通过再次查看 git stash list 的输出来了解您的存储是从哪个分支(或提交)创建的

  • git stash pop 现在应该干净地应用您的更改,并且您的更改又回来了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    相关资源
    最近更新 更多