- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我不小心执行了两次 git stash pop
,让我落后了我想去的地方。我如何撤消最后一次 pop ?我确实想要第一个 pop 而不是第二个,所以 reset --hard HEAD
不会为我做这件事。
最佳答案
“撤消”git stash pop
有点痛苦,除非您在某处(例如,在您的屏幕上)列出了您的存储的原始提交 ID。
git stash
documentation有恢复丢失的藏品的指示(在最后)。这些是您想要的说明,因为 pop
只是“apply
然后 drop
”。这意味着如果您恢复两个 存储,您可以使用 git reset --hard
来恢复所有内容,git stash pop
(或者——更安全,因为它不会“删除”—git stash apply
) 您想要使用的一个存储,然后验证所有内容。
如果您能找到并恢复这两个藏品,我可能会这样做。
如果您只能找到第二个存储(您想要“取消应用”的那个),您可以尝试反向应用它。
这是文档中的“咒语”:
git fsck --unreachable |
grep commit | cut -d\ -f3 |
xargs git log --merges --no-walk --grep=WIP
当你运行它时,你会得到一个提交列表,代表每个 "stash bag" 的每个 w
提交。 .假设它转储了这样的东西:
Checking object directories: 100% (256/256), done.
Checking objects: 100% (66/66), done.
commit 2783bc8cf98192acc3de647d6cbff2c1a2aecca5
Merge: 222c4dd 8466342
Author: ...
Date: Wed Feb 12 17:38:13 2014 -0700
WIP on branch: 222c4dd add clobber-reg example
commit e9fc3cc8e7864813b54bb1281c845297a16b1b47
Merge: 222c4dd d790e1f
Author: ...
Date: Wed Feb 12 17:28:00 2014 -0700
WIP on branch: 222c4dd add clobber-reg example
date
行在这里很有用,因为它是存储的时间。很难区分这两个藏品,不是吗?将原始 SHA-1 ID 保存在某处,并对每个 ID 运行 git stash show -p
。当你找到一个有值(value)的东西时,给它起一个名字:
$ git tag recover-exp-1 e9fc3cc8e7864813b54bb1281c845297a16b1b47
$ git tag recover-exp-2 ...
一旦你确定哪些是正确的恢复的,你就可以开始做 git reset --hard
然后 git 存储应用
。您现在可以通过上面制作的标签名称申请:
$ git reset --hard # ouch, all gone now (maybe "git stash save" first)
$ git stash apply recover-exp-3 # that turned out to be the right one
当所有内容都按照您希望的方式保存和提交后,您可以删除各种“恢复”标签。 (请注意,您可以使用任何您喜欢的名称;recover-exp-
没有什么特别的,那只是我在这里编造的。)
关于git - 不小心运行了 git stash pop 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21844150/
所以下面的内容让我很困惑。 #!/usr/bin/python test = [0, 0, 0, 1, 2, 3, 4, 5, 6] test1 = [0, 0, 0, 1, 2, 3, 4, 5,
这个问题是这个问题的后续问题: deque.popleft() and list.pop(0). Is there performance difference? 在 Python 中,我可以使用 .
我正在使用 bootstrap v2.2.2。我尝试了其他一些方法(即: close popover outside popover but inside stay open 和 How to dis
我正在用 Python 创建提交后脚本并使用子进程调用 git 命令。 在我的脚本中,我想在运行某些命令之前存储所有更改,然后将它们 pop 。问题是,如果没有任何东西可以存储,stash pop 会
我有一个嵌入在 UINavigationController 中的 UITableViewController,我正在尝试将 Peek & Pop 实现到 TableView 中。我的“窥视”部分工作
我的 Windows 机器上安装了 Cygwin、msysgit 和 TortoiseGit。我正在为 Cygwin 编写一个脚本,该脚本通过 ssh 将 git 推送到远程机器: git push
我在 Jenkins 中使用groovy,并且我需要这个字符串来获取其中的最后一个单词。假设字符串是 STATUS = "EXECUTE SIT" 。所以我所做的就是分割字符串,这样我就会得到一个数组
本文是不太具体的问题的后续/重新表述 Is it possible to have a hyperlink inside {content:"..."}? . 用户 Naeem Shaikh ,非常感
Navigator.of(context).pop 和 Navigator.pop(context) 有什么区别? 对我来说两者似乎都在做同样的工作,实际的区别是什么。一个被弃用了吗? 最佳答案 Na
这可能吗?我想要一个更简单的命令来 git stash pop stash@{13} 其中 stash@{13} 只是 last 意思是“最后的存储在列表上”或“最古老的藏品”。 我知道我可以为 gi
Closed. This question is not reproducible or was caused by typos。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-to
Visual Studio 2019 中用于 GIT 存储的以下命令有什么区别? 分阶段 pop 和恢复 (--index) 全部 pop 为未暂存状态 使用https://visualstudio.
我想弹出模型的最后一层。所以我使用了 tf.keras.layers.pop(),但它不起作用。 base_model.summary() base_model.layers.pop() base_m
我想使用 navigator.pop 将值从第 2 页传递到第 1 页,并使用 initstate 中的新值刷新或重新加载我的第 1 页或任何其他解决方法? 我能够在第一页中获取这些值,但无法使用 i
pop 函数的文档说: user> (doc pop) ------------------------- clojure.core/pop ([coll]) For a list or queu
我有以下点击处理程序,当点击它时,我从 handsontable 中提取一个数组然后从数组中删除最后一个元素,并将新数组传递给 ajax post。问题是,如果我再次单击该按钮,它将从数组中删除另一个
我在mailmuch中制作了表单并从中获取了代码,我添加到网页并使用href,当用户单击显示弹出窗口时显示表单。没关系 show popup 但是现在我有ajax请求,我希望在ajax返回成功时显示此
我目前正在学习 Python 中的 pop() 函数并有一个问题。 >>> a = [1,2,3,4] >>> a.pop(3) #or a.pop() 4 >>> print(a) [1,2,3]
我目前正在学习 Python 中的 pop() 函数并有一个问题。 >>> a = [1,2,3,4] >>> a.pop(3) #or a.pop() 4 >>> print(a) [1,2,3]
我可以将对象$push编码到Mongo数组上,如下所示: db.foo.update({},{$push:{bar:3}}) 但是我找不到一种语法,可以让我对列表中的最后一项进行$pop编码。 我已经
我是一名优秀的程序员,十分优秀!