假如非得相识下 GIT 体系… – 实践篇
git gc ( garbage collect )呼吁将会网络全部疏松工具并将它们存入 pack,归并这些 pack 进一个大的 pack,然后将不被任何 commit 引用而且已存在一段时刻 (数月) 的工具删除,除此之外还会将全部引用 (references) 并入一个单独文件(上面有提到跟着各类操纵,.git下还会发生更多文件夹,.git中的packed-refs文件夹就是这时辰发生的)。该呼吁也许通过修改设置中的 gc.auto 和 gc.autopacklimit 来调解操纵阈值。留意:git gc 挪用的也是 git prune ,若有需求也可存眷这个呼吁。 至于”info文件夹是干嘛的?”这个题目还未知… 官网的描写也没看懂,也没查到可能在项目中现实呈现这个文件夹有存在什么文件,要么等碰着再说? 至此git工具中的三个工具已经知道是咋回事了,还剩个tags工具,简朴先容下。 tags工具凡是也是一个commit工具,指的是一个指定了开拓者可读名称的一个非凡工具,若有必要也可通过 git cat-file 来理会试探。 其间相关大抵如下:
相关图的话,这个是git官网的… 和上面的布局是一样的。 基于objects的先容再回过甚来看看”内容、寻址、文件、体系”便较量清楚了:以git工具作为内容,通过独一的校验和寻址,文件情势存储的一个版本节制体系。 相识完这些,首要照旧但愿可以或许运用到现实出产中来办理题目。如 “项目中.git文件为什么这么大?怎么处理赏罚?” 也许的处理赏罚方案: 1. 执行 git gc ,假如压缩后能到达预期结果,则不做过多处理赏罚 2.针对汗青记录中对某些大文件的引用,则删除对应引用的工具,操纵如下
3.若照旧难处理赏罚,可能欠甜头理赏罚,可能不想删除大文件的引用,则备份一份.git,然后初始化git客栈,操纵如下
参考 关于git hooks,参考Customizing-Git-Git-Hooks https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks 关于更具体的.git文件夹,参考 Gitrepository-layout-objectsinfo https://git-scm.com/docs/gitrepository-layout#gitrepository-layout-objectsinfo (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |