我对git很陌生,我对藏起来有一些疑问。如果我曾经在一个分支上工作过,但无法到达一个我可以提交分支的位置,那么使用存储是正确的。我对藏匿的问题是:
如果有人能迅速帮助澄清这些问题,我们将不胜感激。
发布于 2014-10-04 12:11:48
1 -保存了多少个存储库?
存储物不会凭空出现;只有当您创建它们时,才会使用
git stash或者,相当的,
git stash save那么有多少人得救了?你创造了多少。
2 -这些藏匿能保存多久?
这个问题看上去是无辜的,但答案其实相当微妙。这里有两个方面需要考虑: 1)存储库的恢复;2)存储库的对象数据库。
当你创建一个藏物时,吉特
--include-untracked标志的话):一个对应于工作树中的WIP (工作正在进行),另一个对应于您的暂存区域的状态(即.a)。指数)。编辑:那些提交对象是真正的提交,可以通过在它们上运行git cat-file -t来验证。它们只是碰巧无法从任何分支获得;请参见torek's comment。
默认情况下,Git的垃圾回收将自动删除90天以上的reflog条目;您可以通过运行
git config gc.refs/stash.reflogexpire <lifetime>但是,as torek notes,Git会专门处理存储--即使旧的reflog条目通常会自动删除,Git也不会删除refs/stash的reflog条目,除非您明确地告诉它。
换句话说,Git不会自行删除存储;只要您不是自愿的,存放在本地存储库中的藏品就会继续存在。
它删除了所有存储重触发器的条目(注意那个条目)。
但是,请注意,这三种操作只会影响隐藏的重放。特别是,它们不会立即导致将关联的"WIP“和”索引“对象从存储库的数据库中删除;它们只是使这些对象无法访问。后者将在“存储库的边缘”停留一段时间,直到他们最终得到垃圾收集和死亡的“真正的死亡”。
这是一件很有用的事情:如果您不小心掉了一个藏匿,您可能仍然能够从回购的内脏中检索它,如果您能够记住或识别它的两个对象(WIP和index)的SHAs。
3 -它们是否只是暂时保存工作,以便在重新启动计算机时丢失更改?
不是的。存储与任何其他提交对象没有什么不同;重新启动对它们没有影响。
发布于 2014-10-04 08:36:34
Git存储保存到硬盘失效为止(与提交不同,提交通常通过git push传输到其他计算机,因此将超过硬盘故障)。
你可以随心所欲地藏多少东西。当你想要的时候,通过运行git stash drop或git stash clear来摆脱旧的(阅读这些文档)。
https://stackoverflow.com/questions/26190837
复制相似问题