我正在使用git来管理一个非编码项目文件夹,该文件夹中散布着一些大文件。
我没有兴趣移动文件,因为它们不是我的,但我知道git存在非常大的文件问题(用Linus的话来说,“我们很糟糕”)并且我想避免那些性能尽可能多的问题。我在这里,只是跑git init
并即将点击git add -A
,但在我做之前就停止了。
我想尝试向git add
添加仅选择某些文件的标记。我不想基于扩展而受到偏见,只是基于大小。可以add
或我的.gitignore
文件执行此操作吗?
答案 0 :(得分:8)
git
没有可以执行您想要的操作的标记。但是,有许多其他实用程序可以正常工作......例如find
命令。要添加小于4 MB的所有文件:
find * -size -4M -type f -print | xargs git add
这假设您没有包含空格的文件名(例如,“我的重要文件”)。如果你有这样的文件,那么:
find * -size -4M -type f -print0 | xargs -0 git add
更新:请注意,我已将.
替换为*
,因为否则会在.git
找到(并尝试添加)内容目录,这没什么用。
答案 1 :(得分:2)
根据larsks的答案,您可以采取相反的做法将大文件添加到.gitignore
echo "# Files over 4mb" >> .gitignore
find * -size +4M -type f -print >> .gitignore