Git -- 添加所有小于 X 兆字节的文件

标签 git

我正在使用 git 来管理一个非编码项目文件夹,该文件夹中有一些散落在各处的大文件。

我对移动文件没有兴趣,因为它们不是我的,但我知道 git 对非常大的文件有问题(用 Linus 的话说,“我们很烂”),我想避免这些性能尽我所能。所以我在这里,刚刚运行 git init 并准备在 git add -A 上按回车键,但在我执行之前停止。

我想尝试向 git add 添加一个标志,它只选择某些文件。我不想基于扩展而只基于大小而受到偏见。 add 或我的 .gitignore 文件可以做到这一点吗?

最佳答案

git 没有可以做你想做的事情的标志。但是,还有许多其他可用的实用程序可以正常工作...例如 find 命令。要添加所有小于 4 MB 的文件:

find * -size -4M -type f -print | xargs git add

这假设您没有包含空格的文件名(例如,“我的重要文件”)。如果你有这样的文件,那么:

find * -size -4M -type f -print0 | xargs -0 git add

更新:请注意,我已将 . 替换为 * ,否则它会在中找到(并尝试添加)内容你的 .git 目录,这没有帮助。

关于Git -- 添加所有小于 X 兆字节的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22057331/

相关文章:

git - 如何删除所有超过一年的 Git 远程分支?

git - 将分支更新到最新的 master,同时仍保留之前提交的所有更改的最佳方法是什么?

git - 为什么 `git cherry-pick` (没有 `--no-commit` )不运行我的提交后钩子(Hook)?

git - 如何在 Git 中 check out 一个文件的特定版本?

git - 命名为旧的重命名分支的新分支是否会继承其提交?

git - 如何仅为特定 repo 设置 GIT_SSL_NO_VERIFY?

Git pull 失败 : You have unstaged changes. Git 状态:无要提交(工作目录干净)

git 从整个历史记录中删除所有已删除的文件

git - 克隆 GitHub 存储库并 merge 所有 pull 请求

git - 为什么 checkout 不同的分支后仍然存在未暂存的更改?