相关疑难解决方法(0)

如何清理远程git仓库中的垃圾

我最近遇到了Bitbucket repo的大小限制.我跟着无数其他问题回答了如何清理你的git repo并最终使用BFG来删除一些糟糕的提交.

这很好用,但是,我注意到在运行git计数后,垃圾中有大量的空间.所以我运行了一个简单的git gc.然而,这没有什么可以清理垃圾.

经过一番挖掘后,我找到了以下命令:

git -c gc.reflogExpire=0 -c gc.reflogExpireUnreachable=0 -c gc.rerereresolved=0 \
-c gc.rerereunresolved=0 -c gc.pruneExpire=now gc "$@"
Run Code Online (Sandbox Code Playgroud)

运行此操作导致垃圾在本地清理.但是,我仍然有远程回购的问题.我现在需要让Bitbucket在我的远程仓库上运行此命令,还是有办法将此更改推送到存储库?

git bitbucket

27
推荐指数
2
解决办法
1万
查看次数

如何从bitbucket中的旧提交中删除大文件

几个月前我做了一些糟糕的提交后,我的bitbucket repo变得非常大(1.6 GB).我没有意识到情况有多严重(noob ..),因为一个同事试图克隆它并且失败了(太大了).

我仔细阅读了这篇文章为什么我的git存储库如此之大?并做了以下(如@Vi建议):

  • 检测我的仓库历史记录中的胖文件

    git rev-list --all --objects |     sed -n $(git rev-list --objects --all | \
    cut -f1 -d' ' | \
    git cat-file --batch-check | \
    grep blob | \
    sort -n -k 3 | \
    tail -n40 | \
    while read hash type size; do 
     echo -n "-e s/$hash/$size/p ";
    done) |
    sort -n -k1
    
    Run Code Online (Sandbox Code Playgroud)

    假设其中一个胖文件是mybigfile.gz

  • 从repo中删除mybigfile.gz

    git filter-branch -f  --index-filter \
    'git rm --force --cached --ignore-unmatch mybigfile.gz' \
    -- …
    Run Code Online (Sandbox Code Playgroud)

git github bitbucket

5
推荐指数
1
解决办法
1746
查看次数

本地 repo 和 bitbucket 的大小差异

我有一个本地仓库。我.gitdu -csh <foldername>命令检查了文件夹的大小。它是 168 MB。我把它推送到我的 bitbucket 仓库。我检查了下载的存储库大小仅为 134 mb。

这怎么可能?

git repository filesize bitbucket

0
推荐指数
1
解决办法
1074
查看次数

标签 统计

bitbucket ×3

git ×3

filesize ×1

github ×1

repository ×1