我在主分支上存储了多个更改,现在我想从位于 {0} 的存储更改创建一个新分支。但我怀疑新分支的创建不会影响我的其他存储,因为git
创建新分支后会丢弃我的藏品。将要git
只删除 {0} 索引处的存储,还是会删除所有存储?隐藏的更改对我来说太重要了。
简短回答:不用担心,存储条目是相互独立的。大胆试试吧。
更长的答案:(带有视觉示例)
为了帮助描述它,可以将存储视为不相关提交的列表,每个提交都指向存储库树中的不同点。
请参阅假设情况 below
F---G <<< feature/abc
/
/ H---I <<< bugfix/123
/ / \
A---B---C---D---E---F---J <<< master
\
\
K---L---M <<< feature/xyz
以及以下内容假设场景
在过去的几天里,当您在这些不同的分支上工作时,您多次存储了更改。
假设您隐藏了 3 次:
最后
- 之后不得不再次藏起来
L
在工作时feature/xyz
(操作按该顺序发生。)
由此产生的藏匿情况
此时您的存储列表将如下所示
stash@{0}: WIP on feature/xyz: f1d6b3a unfinished - get rid of var dumps
stash@{1}: WIP on hotfix/123: 94722ae unfinished - css still broken
stash@{2}: WIP on feature/abc: 4fb4785 no good - test T1 failed
但重要的一点是,由于存储条目采用父条目,无论条目创建时 HEAD 指向哪个提交:
L
是的父级f1d6b3a
(我们称之为L'
)
H
是的父级94722ae
(我们称之为H'
)
F
是的父级4fb4785
(我们称之为F'
)
在树中,可以将其描绘为
F' <<< stash@{2}
/
F---G <<< feature/abc H' <<< stash@{1}
/ /
/ H---I <<< bugfix/123
/ / \
A---B---C---D------------------E---F---J <<< master
\
\
K---L---M <<< feature/xyz
\
L' <<< stash@{0}
然后就更容易看到,尽管它们在您的列表中按顺序列出stash list
,它们实际上是不相关的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)