Git Shelve vs藏匿

我很不熟悉Git的shelve方面。 如果stash是用来搁置未完成的工作什么是shelve呢? 你会用它做什么?

git shelve不存在于Git中。

只有git stash

  • 当你想logging工作目录和索引的当前状态,但又想回到一个干净的工作目录。
  • 这将保存您的本地修改,并恢复工作目录以匹配HEAD提交。

你有一个2008年的旧项目git搁置隔离在一个分支的修改,但这不会是非常有用的现在。

当JetBrains IDE和Git一起使用时,除了搁置和卸载之外,还支持“隐藏和不搁置的操作”,这些特性有许多共同之处,主要区别在于生成和应用补丁的方式,搁置可以使用单个文件或一堆而Stash只能同时运行一大堆文件,下面是它们之间差异的更多细节 。

除了以前的答案,还有一个重要的我注意到:

shelve就是JetBrains的产品function(如WebStormPhpStormPyCharm等)。 它将搁置的文件放入.idea/shelf目录。

stash是一个git选项。 它把放置在.git目录下的文件。