我对Git的shelve方面非常不熟悉(编辑:这不是Git的一个方面,而是shelve的IntelliJ IDEA特性)。如果stash用于搁置未完成的工作,那么shelve是什么?你会用它来做什么例如,在“更新项目”上(从VCS菜单)
shelve
stash
的数据一个将得到(在IntelliJ IDEA 2019.2中)
的
vfhzx4xs1#
git shelve在Git中不存在。仅git stash:
git shelve
git stash
你有一个2008年的旧项目git shelve来隔离分支中的修改,但现在这不是很有用。如Intellij IDEA shelve dialog中所述,“搁置和取消搁置”功能并不链接到VCS(版本控制系统工具),而是链接到IDE本身,以便在变更列表中临时存储尚未提交的挂起更改。注意since Git 2.13 (Q2 2017), you now can stash individual files too。
1zmg4dgp2#
当使用JetBrains IDE和Git时,“除了shelving和unshelving之外,还支持stashing和unstashing操作。这些特征有许多共同之处;主要区别在于生成和应用补丁的方式。Shelve可以操作单个文件或一堆文件,而Stash只能一次操作一整堆更改的文件。这里有一些more details关于它们之间的差异。
esbemjvw3#
除了前面的回答,还有一个重要的问题:shelve是JetBrains产品的功能(如WebStorm、PhpStorm、PyCharm等)。它将搁置的文件放入.idea/shelf目录。stash是git选项之一。它将隐藏的文件放在.git目录下。
WebStorm
PhpStorm
PyCharm
.idea/shelf
git
.git
sd2nnvve4#
如果我不在其他地方共享更改,我宁愿搁置更改而不是将其隐藏。
Stashing是git的一个特性,它不给予你选择特定的文件或文件中的更改。Shelving可以做到这一点,但这是IDE特有的功能,而不是git功能:x1c 0d1x的数据正如您所看到的,我可以选择指定哪些文件/行包含在我的shelve中。请注意,我不能这样做与stashing。请注意,在IDE中使用工具架可能会限制修补程序的可移植性,因为这些更改不会存储在.git文件夹中。一些有用的链接:
bfnvny8b5#
Shelf是JetBrains的一个功能,而Stash是Git的一个功能。您可以切换到不同的分支没有提交和损失的工作使用任何功能。我个人的经验是使用Shelf。
jum4pzuy6#
Shelve是IntelliJ IDE的一个特性。Stash是Git的一个特性。新版本的git还允许您使用git stash -p在我看来,Shelve相对于普通stash的一个优势是shelve changes from multiple repos together的能力
6条答案
按热度按时间vfhzx4xs1#
git shelve
在Git中不存在。仅
git stash
:你有一个2008年的旧项目git shelve来隔离分支中的修改,但现在这不是很有用。
如Intellij IDEA shelve dialog中所述,“搁置和取消搁置”功能并不链接到VCS(版本控制系统工具),而是链接到IDE本身,以便在变更列表中临时存储尚未提交的挂起更改。
注意since Git 2.13 (Q2 2017), you now can stash individual files too。
1zmg4dgp2#
当使用JetBrains IDE和Git时,“除了shelving和unshelving之外,还支持stashing和unstashing操作。这些特征有许多共同之处;主要区别在于生成和应用补丁的方式。Shelve可以操作单个文件或一堆文件,而Stash只能一次操作一整堆更改的文件。这里有一些more details关于它们之间的差异。
esbemjvw3#
除了前面的回答,还有一个重要的问题:
shelve
是JetBrains产品的功能(如WebStorm
、PhpStorm
、PyCharm
等)。它将搁置的文件放入.idea/shelf
目录。stash
是git
选项之一。它将隐藏的文件放在.git
目录下。sd2nnvve4#
如果我不在其他地方共享更改,我宁愿搁置更改而不是将其隐藏。
Stashing是git的一个特性,它不给予你选择特定的文件或文件中的更改。Shelving可以做到这一点,但这是IDE特有的功能,而不是git功能:
x1c 0d1x的数据
正如您所看到的,我可以选择指定哪些文件/行包含在我的shelve中。请注意,我不能这样做与stashing。
请注意,在IDE中使用工具架可能会限制修补程序的可移植性,因为这些更改不会存储在.git文件夹中。
一些有用的链接:
bfnvny8b5#
Shelf是JetBrains的一个功能,而Stash是Git的一个功能。您可以切换到不同的分支没有提交和损失的工作使用任何功能。我个人的经验是使用Shelf。
jum4pzuy6#
Shelve是IntelliJ IDE的一个特性。Stash是Git的一个特性。新版本的git还允许您使用
git stash -p
在我看来,Shelve相对于普通stash的一个优势是shelve changes from multiple repos together的能力