我在工作目录中进行了更改,然后运行git stash
。在我的.dir/refs
目录中,我有一个名为stash
的新引用,它是指向具有哈希2d05be16dcd0828c84d63f1e07ee78a2a28b3deb
的对象的指针。我已经检查了对象的类型及其commit
:
$ git cat-file -t 2d05be16dcd0828c84d63f1e07ee78a2a28b3deb
commit
所以看起来stashing确实创建了一个提交。所以当我解开它时,它是否相当于采摘樱桃?
答案 0 :(得分:0)
不完全,但它很相似。应用stashed更改会修改索引和/或工作树,但永远不会创建新的提交。在成功完成挑选后,索引和工作树将完全相同,并且将创建一个新提交。
那就是说,应用变化的方式几乎是一样的。 Git需要某种方式将更改从特定提交应用到任意树,使用git stash
和git cherry-pick
的不同实现是没有意义的。