我正在使用git来管理一个非编码项目文件夹,该文件夹中散布着一些大型文件.
我没有兴趣移动文件,因为它们不是我的,但我知道git存在非常大的文件问题(用Linus的话来说,"我们很糟糕")并且我想尽可能地避免这些性能问题如我所能.所以我在这里,只是跑去git init打算进入,git add -A但在我做之前就停止了.
我想尝试添加一个标志git add,只选择某些文件.我不想基于扩展而受到偏见,只是基于大小.可以add或我的.gitignore档案那样做吗?
lar*_*sks 10
没有任何标志git可以做你想要的.但是,有很多其他实用程序可以正常工作...例如find命令.要添加小于4 MB的所有文件:
find * -size -4M -type f -print | xargs git add
Run Code Online (Sandbox Code Playgroud)
这假设您没有包含空格的文件名(例如,"我的重要文件").如果你有这样的文件,那么:
find * -size -4M -type f -print0 | xargs -0 git add
Run Code Online (Sandbox Code Playgroud)
更新:请注意,我已经替换.为*此处,否则它会在您的.git目录中找到(并尝试添加)内容,这没有用.
Kyl*_*cey 10
根据 larsks 的回答,您可以相反地将大文件添加到您的 .gitignore
echo "# Files over 4mb" >> .gitignore
find * -size +4M -type f -print >> .gitignore
Run Code Online (Sandbox Code Playgroud)