首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git节省了多少/多长时间?

git节省了多少/多长时间?
EN

Stack Overflow用户
提问于 2014-10-04 07:54:55
回答 2查看 9.6K关注 0票数 24

我对git很陌生,我对藏起来有一些疑问。如果我曾经在一个分支上工作过,但无法到达一个我可以提交分支的位置,那么使用存储是正确的。我对藏匿的问题是:

  1. 存了多少藏品?
  2. 这些藏匿能保存多久?
  3. 它们是否只是暂时保存工作,以便在重新启动计算机时丢失更改?

如果有人能迅速帮助澄清这些问题,我们将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-04 12:11:48

1 -保存了多少个存储库?

存储物不会凭空出现;只有当您创建它们时,才会使用

代码语言:javascript
复制
git stash

或者,相当的,

代码语言:javascript
复制
git stash save

那么有多少人得救了?你创造了多少。

2 -这些藏匿能保存多久?

这个问题看上去是无辜的,但答案其实相当微妙。这里有两个方面需要考虑: 1)存储库的恢复;2)存储库的对象数据库。

当你创建一个藏物时,吉特

  • 将一个条目添加到隐藏的reflog,
  • 在存储库的数据库中创建两个提交对象(如果使用--include-untracked标志的话):一个对应于工作树中的WIP (工作正在进行),另一个对应于您的暂存区域的状态(即.a)。指数)。

编辑:那些提交对象是真正的提交,可以通过在它们上运行git cat-file -t来验证。它们只是碰巧无法从任何分支获得;请参见torek's comment

默认情况下,Git的垃圾回收将自动删除90天以上的reflog条目;您可以通过运行

代码语言:javascript
复制
git config gc.refs/stash.reflogexpire <lifetime>

但是,as torek notes,Git会专门处理存储--即使旧的reflog条目通常会自动删除,Git也不会删除refs/stash的reflog条目,除非您明确地告诉它。

换句话说,Git不会自行删除存储;只要您不是自愿的,存放在本地存储库中的藏品就会继续存在。

  • 放下它,用 git藏水滴 它从存储重放中删除指定的存储项;
  • 弹出,使用 藏弹 ,它应用指定的存储库,然后从存储重新触发器中删除相应的条目;或
  • 跑 git储存清空

它删除了所有存储重触发器的条目(注意那个条目)。

但是,请注意,这三种操作只会影响隐藏的重放。特别是,它们不会立即导致将关联的"WIP“和”索引“对象从存储库的数据库中删除;它们只是使这些对象无法访问。后者将在“存储库的边缘”停留一段时间,直到他们最终得到垃圾收集和死亡的“真正的死亡”。

这是一件很有用的事情:如果您不小心掉了一个藏匿,您可能仍然能够从回购的内脏中检索它,如果您能够记住或识别它的两个对象(WIP和index)的SHAs。

3 -它们是否只是暂时保存工作,以便在重新启动计算机时丢失更改?

不是的。存储与任何其他提交对象没有什么不同;重新启动对它们没有影响。

票数 36
EN

Stack Overflow用户

发布于 2014-10-04 08:36:34

Git存储保存到硬盘失效为止(与提交不同,提交通常通过git push传输到其他计算机,因此将超过硬盘故障)。

你可以随心所欲地藏多少东西。当你想要的时候,通过运行git stash dropgit stash clear来摆脱旧的(阅读这些文档)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26190837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档