有时候我git pop
并且得到我不想合并的东西,并且想要扔掉。是否有一种更好的方法可以丢掉那些藏匿的东西:
git stash pop
决定我不想藏匿。
git reset HEAD
git checkout -- .
git stash drop
如果我弹出但不合并藏匿,这就是我放弃它的原因。
答案 0 :(得分:7)
您不必执行git reset HEAD
和git checkout --
等(这本身就是详细的,因为您只需执行git reset --hard
即可获得干净的工作目录)藏。您只需执行git stash drop
即可删除存储空间。请注意,当您弹出并且git无法干净地应用时,隐藏不会弹出并且仍然存在。然后你在清理后丢弃它,这是没有必要的。
如果您遇到很多冲突,您可能还想使用branch
的{{1}}选项。它会在您藏匿的HEAD之外创建一个新的分支。
答案 1 :(得分:1)
有两个藏匿处吗?你如何弹出和放弃它? (或者这就是为什么你提到合并 - 它不适用于干净利落?)
在任何情况下,git reset HEAD; git checkout -- .
,假设您处于repo的顶层,与git reset --hard
完全相同 - 这使得您的索引和工作树与当前提交匹配。 (HEAD
永远不必作为git reset
的参数;它是默认值。)
如果存储需要丢失,你仍然需要放弃它。
答案 2 :(得分:1)
git reset --hard HEAD
会让你回到干净的工作目录和与HEAD匹配的索引。唯一的问题是,如果你把它藏起来,你将永远失去这个藏匿点。
如果您认为自己可能仍然想要这个存储,请使用“git stash apply”将此存储保留在存储堆栈中。