处理一些代码并希望稍后保存它的一部分。假设在两个变更集之间没有太多的事情发生,我决定去git stash -p
。一个小时左右后,我们意识到它会变得毛茸茸的,并且不想松开我的藏匿处。所以我想创建一个分支。从git stash中自动引用合并分支
不幸的是做一个简单的
git branch stash-branch [email protected]{0}
不会产生我想要的结果。望着树我看到
* 99b0d0c (refs/stash, stash-branch) WIP on my-dev-branch: 2af1f8b PARTIAL but it builds again!
|\
| * d45ddae index on my-dev-branch: 2af1f8b PARTIAL but it builds again!
|/
* 2af1f8b (HEAD -> my-dev-branch) PARTIAL but it builds again!
| * d8bb99f (origin/my-dev-branch) PARTIAL but it builds again!
|/
* fe1296d PARTIAL (doesn't compile)
我的预期是什么stash-branch
是在d45ddae
,但并没有出现这样的工作。噢,我会去寻找另一种自动执行此操作的方法。
经过一番搜索,找不到任何东西。所以我的问题:是否有一种自动的方式在[email protected]{N}
的提示之前引用提交?我所有的努力导致新制作的分支指向my-dev-branch
。
编辑:上面的git branch
命令是不正确的。已更正。
此外,据我所知git stash branch
总是自动检出分支。在这种情况下,我只想在现有的sha上创建一个新的分支。
基本上,我想创建一个新的分支,而不检查出来,在d45ddae
。
'git branch'命令是一个错字。它已被纠正。因为它只是返回“不是有效的分支名称”。校正结果如下所示。带有'git stash branch'的问题在于它自动检出分支。这不是我想要的。 –
是的,'git stash branch'创建并检出新分支,以便应用和删除存储。创建一个指向存储的父提交的分支名称*没有*切换到它是没有意义的,因为该提交将保持引用(通过存储)直到存储被删除,并且您可以随时通过'^2'。直到阅读才能开始使用未隐藏的隐藏提交进行提交,并且希望为他们提供分支名称行为,则不需要分支名称*。 (不是它*伤害了*,给这些东西的名字很好。) –
torek
你比我更努力。我的藏匿名单经常被污染。我通常用快速的'git stash clear'来解决这个问题。使用分支我至少可以给它一个明智的名字,并且更有意识地删除它。 –