如何查找 git 里的大文件

worktile 其他 956

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要查找 git 仓库里的大文件,可以采用以下几种方法:

    方法一:使用 git ls-files 命令
    1. 打开终端或命令行工具,进入到所在的 git 仓库目录。
    2. 输入以下命令:
    “`
    git ls-files -s | cut -c1-12,41- | awk ‘{if ($1 >= 1000000) print $1, $2}’
    “`
    这个命令会列出仓库中所有文件的大小(以字节为单位),并筛选出大小超过 1MB 的文件。

    方法二:使用 git 查找命令
    1. 打开终端或命令行工具,进入到所在的 git 仓库目录。
    2. 输入以下命令:
    “`
    git rev-list –objects –all | git cat-file –batch-check=’%(objecttype) %(objectname) %(objectsize) %(rest)’ | sed -n ‘s/^blob //p’ | sort –numeric-sort –key=2 –reverse | awk ‘{if($2 >= 1000000) print $2}’
    “`
    这个命令会列出仓库中所有文件的大小(以字节为单位),并筛选出大小超过 1MB 的文件。

    方法三:使用 git extensions 工具
    1. 安装并打开 git extensions 工具。
    2. 在工具的界面上,选择相应的 git 仓库。
    3. 在顶部菜单栏上选择 “Tools” -> “Find Large Files”。
    4. 在弹出的窗口中,设置文件大小的范围(如大于 1MB)。
    5. 点击 “Search” 按钮,工具会自动查找并显示符合条件的大文件。

    以上三种方法都可以帮助你在 git 仓库中查找大文件。通过这些方法,你可以更好地管理和优化 git 仓库的大小,提高代码的版本管理效率。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    1. 使用 Git Large File Storage(LFS)扩展:Git LFS 是一种开源扩展,可以将大文件存储在远程服务器上而不是存储在 git 仓库中。要使用 LFS,需要在安装 Git 后,使用以下命令初始化 LFS 在仓库上:

    “`
    $ git lfs install
    “`

    然后,使用以下命令来跟踪大文件:

    “`
    $ git lfs track
    “`

    在此之后,每当你添加大文件时,它们将被自动转移到 LFS。通过使用以下命令,可以查看在 Git LFS 中跟踪的大文件:

    “`
    $ git lfs ls-files
    “`

    2. 使用 Git 查找命令:Git 提供了 `git rev-list` 命令,可以用来查找特定大小的文件。例如,要查找大于100MB的文件,可以使用以下命令:

    “`
    $ git rev-list –objects –all | git cat-file –batch-check=’%(objecttype) %(objectname) %(objectsize) %(rest)’ |
    awk ‘/^(blob|commit)/ { printf “%s\t%s\n”, $3, $1 }’ |
    grep -vFf <(git rev-parse --all) |awk '$2 >= 100000000 { print $1 }’
    “`

    这个命令将列出大于100MB的文件的 SHA 值。

    3. 使用第三方工具:还有一些第三方工具可以帮助查找 Git 中的大文件,如 BFG Repo-Cleaner 和 Git Large File Finder。BFG Repo-Cleaner 是一个用于清理 Git 存储库的工具,可以帮助找到并删除大文件。Git Large File Finder 是一个基于 Web 的工具,可以扫描整个 Git 存储库并标识大文件。

    4. 使用 Git Hooks:Git Hooks 是在执行特定操作之前或之后自动运行的脚本。可以编写一个 Git Hook 脚本来检查提交的文件大小,并在提交之前给出警告或阻止提交。通过这种方式,可以防止大文件被添加到 Git 存储库中。

    5. 使用 Git GUI 客户端:一些 Git GUI 客户端提供了查找大文件的内置功能。例如,Sourcetree 是一款流行的 Git GUI 客户端,它提供了一个搜索功能,可以帮助用户找到大文件。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    查找 Git 仓库中的大文件可以通过以下方法:

    ### 方法一:使用 Git GUI 客户端

    一些 Git GUI 客户端,如 GitKraken、SourceTree 等,提供了直观易用的界面来查看 Git 仓库中的大文件。

    1. 打开 Git GUI 客户端,并导入要查找的 Git 仓库。
    2. 在仓库列表中选择要查找大文件的仓库。
    3. 在菜单栏或工具栏中找到 “查看” 或 “检查” 等选项。
    4. 在弹出的窗口中,选择 “大文件” 或类似的选项。
    5. 客户端会列出仓库中的所有大文件,并显示它们的大小和路径。可以按照大小进行排序,以找到最大的文件。

    ### 方法二:使用 Git 命令行

    使用 Git 命令行工具可以查找仓库中的大文件,不同的命令行工具可能有细微差异,这里以 Git Bash 为例。

    1. 使用 Git Bash 打开 Git 仓库所在的目录。
    2. 运行以下命令来列出仓库中的所有文件及其大小:

    “`shell
    git ls-tree -r -t -l –full-tree HEAD
    “`

    该命令会递归列出仓库中的所有文件及其大小。

    3. 可以通过管道和排序命令来筛选和排序文件,例如:

    “`shell
    git ls-tree -r -t -l –full-tree HEAD | sort -k 4 -n
    “`

    该命令可以按照文件大小排序。最大的文件将出现在列表的顶部。

    注:上述命令列出的大小是压缩后的文件大小,而不是实际的物理大小。

    ### 方法三:使用 Git 扩展工具

    除了上述方法,还可以使用一些 Git 扩展工具来查找仓库中的大文件。这些工具通常提供更多的功能和选项,如图形化界面、过滤、搜索等。以下是一些常用的 Git 扩展工具:

    – Git Large File Storage (LFS):这是由 Git 官方推出的扩展,用于处理大文件。可以使用 LFS 提供的命令行工具来查找大文件。
    – Git Annex:这是另一个用于处理大文件的 Git 扩展。它提供了命令行和图形化工具来帮助用户查找和管理大文件。
    – BFG Repo-Cleaner:这是一个强大的工具,用于清理 Git 仓库中的大文件。它可以帮助用户找到和删除不必要的大文件,从而减小仓库的体积。

    这些工具都有详细的文档和使用说明,可根据自己的需求选择合适的工具。

    ### 总结

    通过 Git GUI 客户端、Git 命令行工具或其他 Git 扩展工具,可以方便地查找 Git 仓库中的大文件。选择合适的方法和工具,可以根据自己的需求和喜好来查找和管理大文件。不仅可以及时发现和解决大文件问题,还能优化仓库的性能和大小。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部