我在过去几个小时内一直致力于一个项目,当您使用试错法策略时,您很可能会忘记提交更改,这些更改应该在单独的提交中以保持干净的历史记录
至少,这就是发生在我身上的事情,现在我正试图解决我的错误。
我知道git add -p
只能暂存我想要进行的更改,而不是整个文件,当我想要进行一行代码时。
显然你不想做出破坏的事情所以我想测试当我使用git stash push -k -u
隐藏所有未分级的更改时我是否仍然可以编译项目而且我看到我忘记了进行更改。我做了git stash pop
,但当问题来到门口并且打碎了我的脸时,在我使用git add -p
部分上演的每个文件中都存在合并冲突。
我使用Git的以下文档来达到我现在的位置:
https://git-scm.com/docs/git-stash#git-stash-Testingpartialcommits
答案 0 :(得分:0)
我一般不特别喜欢git stash
,git stash
中有一个非常尖锐的边缘案例错误,你可以点击这里。但我相信它是意图以你使用它的方式使用。
要撤消git stash -k
的效果,您必须先使用git reset --hard
,然后使用--index
选项应用或弹出(不要再使用--keep-index
!)。所有这一切在很大程度上取决于git stash
实际隐藏的东西(并注意错误)。有关详细信息,请参阅How do I properly git stash/pop in pre-commit hooks to get a clean working tree for tests?