.git 文件太大时怎样处理
PHPz
PHPz 2017-04-21 11:18:47
0
7
1052

一个 repo 里有 .jar 之类文件, 从 Github 下载 tag 里的 .zip 文件大小有 8M,
然后我用 filter-branch --tree-filter 删除了相关目录, 但大小没减多少..
查看了一下, 整个 repo 特别是 .git/objects/ 文件太大, 总共 48M,
于是网上搜 git gc 命令的参数尝试性地弄了几个, 到了 37M, 主要是 .git/objects/pack/ 36M.
作为一个 JS 前端模块还是太大了. 其实太早的 commit 可以丢弃的.
我想删除重建 .git 用来打包是可以的,
但遇到这样的问题时大家会怎么处理来舍弃无用的历史和文件?

---------

更新:
关于去掉部分 commit, 换个说法,,
我去掉一部分文件和一部分文件相关的 commit, 但要求方便从官方版本 merge 更新
目的是保证我的 repo (不用于开发, 仅仅发布压缩代码) 小, 而更新能进行 merge.

PHPz
PHPz

学习是最好的投资!

répondre à tous(7)
大家讲道理

Lors du clonage, vous pouvez spécifier la profondeur, comme suit, si elle est égale à 1, cela signifie cloner uniquement le dernier commit.

git clone git://xxoo --depth 1
大家讲道理

Utilisez git rebase pour modifier l'historique des validations.

Par exemple, fusionner les deux premiers commits : http://stackoverflow.com/questions/59...

Faites bon usage de rebase, en plus de supprimer certains commits, vous pouvez également modifier le journal des commits ; diviser les commits qui contiennent plusieurs fonctionnalités à la fois ; fusionner plusieurs commits avec les mêmes fonctionnalités pour garder l'historique de la base de code propre ; .

巴扎黑

S'il s'agit d'un projet web créé en Java, ce n'est pas trop gros si vous ajoutez ssh ou autre chose.
Vous pouvez également envisager de supprimer tous les fichiers jar publics et de ne pas les placer directement dans le projet.

Peter_Zhu

Les fichiers .jar n'appartiennent évidemment pas à votre propre code front-end, mais à des dépendances tierces et ne doivent pas être placés dans la base de code. Il est recommandé d'utiliser un script pour gérer la version des dépendances tierces dès le début du projet et de supprimer le fichier .jar de la base de code.

洪涛

Git peut changer l'historique
Vous pouvez essayer de fusionner l'historique inutile localement, puis forcer à le pousser

Ty80

.git est votre entrepôt local, qui enregistre toutes les informations sur l'historique des commits git,
Spécifier la profondeur lors du clonage peut éviter de télécharger trop d’informations de validation historiques.

Mais votre question semble être de savoir comment gérer cela lors de la publication,
C'est simple, supprimez simplement le répertoire .git lors de la publication.

黄舟

使用git lfs
https://git-lfs.github.com/

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal