最近做项目用git向github推送时,总是出现大于100M的文件导致push失败,每次都要手动找到大于100M的文件,然后修改.gitattributes,用git-fls 上传,很麻烦,所以就用Java写了一个自动检测Git仓库中大于100M的文件,并将其添加到.gitattributes的程序,代码如下所示。使用时只需要将main函数中的gitRepositoryDir路径改为自己仓库的路径即可。另外修改.gitattributes文件的方法是注释了的,还是建议手动添加,不然出问题很麻烦;自动添加只要去掉下面这行的注释,也可以根据自己需要修改appendContext()方法。注意,如果可能出现大于100M的文件,一定要在commit之前就检测一下!!!!
// appendContext(path,context);//这是修改.gitattributes文件的方法
完整代码如下:
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class GitCheck {
public static void main(String[] args) throws FileNotFoundException {
File gitRepositoryDir = new File("D:\\Repository");//修改成自己的仓库目录即可
checkGitFiles(gitRepositoryDir,gitRepositoryDir.getAbsolutePath());
}
public static void checkGitFiles(File fileDir,String baseFileString) throws FileNotFoundException {
// 操作文件
if (!fileDir.