git shelve
在Git中不存在。
只有 git stash
:
git stash
。您曾经有一个2008年的旧项目 git shelve 用于在分支中隔离修改,但现在这不再有太大用处。
正如Intellij IDEA 中的存储对话框所述,"存储和取消存储" 功能并未链接到 VCS(版本控制系统工具),而是链接到IDE本身,用于暂时存储您尚未在更改列表中提交的挂起更改。
git stash && <your actual command> && git stash pop
的方法,但那太麻烦了。自动储存和应用更接近我们需要的功能。 - smaudet在使用JetBrains IDE与Git时,支持“存储和取消存储”操作,除了还支持 “搁置和取消搁置”。这些功能有很多共同点;主要区别在于如何生成和应用补丁。Shelve可以处理单个文件或一组文件,而Stash只能一次处理整个更改文件集。这里有一些更多细节关于它们之间的差异。
git stash -p
命令,它比两者都更为强大。不幸的是,它只能在命令行中使用。 - The Veeshelve
是 JetBrains 产品的一个特性(比如 WebStorm
、PhpStorm
、PyCharm
等)。它将被搁置的文件放在 .idea/shelf
目录下。
stash
是 git
的选项之一。它将被隐藏的文件放在 .git
目录下。如果我没有在其他地方分享我的更改,我希望将更改搁置而不是藏匿它们。
藏匿是git的一个功能,不允许您选择特定的文件或文件中的更改。搁置可以做到这一点,但这是一个特定于IDE的功能,而不是git功能:
正如您所看到的,我能够选择指定要包含在我的货架上的文件/行。请注意,使用stash无法这样做。
请注意,在IDE中使用货架可能会限制您的补丁的可移植性,因为这些更改未存储在.git文件夹中。
一些有用的链接:
Shelf 是 JetBrains 的一个功能,而 Stash 是 Git 的一个功能,用于同样的工作。你可以使用这两个功能之一在不提交并且不丢失工作的情况下切换到不同的分支。我的个人经验是使用 Shelf。
shelve
不是git命令。这个问题的背景是什么,这些术语来自哪里?shelve
存在于其他一些工具中,但不是git的一部分。 - Jonah