相关疑难解决方法(0)

如何从Git存储库中的提交历史记录中删除/删除大文件?

偶尔我会把一个DVD-rip放到一个网站项目中,然后不小心git commit -a -m ...,然后,zap,回购邮件被2.2演出臃肿.下次我做了一些编辑,删除了视频文件,并提交了所有内容,但是历史记录中的压缩文件仍然存储在存储库中.

我知道我可以从那些提交开始分支并将一个分支重新绑定到另一个分支.但是我应该怎么做才能将2个提交合并在一起,以便大文件没有在历史记录中显示并在垃圾收集过程中被清除?

git version-control git-rebase git-rewrite-history

646
推荐指数
17
解决办法
22万
查看次数

如何在提交时限制文件大小?

我完全清楚这个问题在技​​术上使这个问题重复,但答案只提供推送解决方案,这对我的要求来说太晚了.

提交时是否有限制文件大小的选项?

例如:500K以上的文件大小会产生警告.超过10M的文件大小将停止提交.

linux git github filesize

10
推荐指数
2
解决办法
4031
查看次数

如何从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
查看次数