如何从所有分支的git存储库中删除某些文件类型?

时间:2018-07-17 10:29:51

标签: git atlassian-sourcetree

我使用Bitbucket,今天早上发现我的存储库大小为1.5GB(是的,我知道-我是VCS的新手,因此决定将文件夹中的所有内容推送到存储库,包括R环境文件,他们自己可以变得非常庞大。现在由于这种情况,我正在尝试解决此问题。

我已经确定需要减少的文件(NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc]init]; numberFormatter.locale = [NSLocale currentLocale];// this ensures the right separator behavior numberFormatter.numberStyle = NSNumberFormatterCurrencyStyle; numberFormatter.usesGroupingSeparator = YES; numberFormatter.usesSignificantDigits = YES; numberFormatter.currencyGroupingSeparator = numberFormatter.locale.groupingSeparator; numberFormatter.decimalSeparator = numberFormatter.locale.decimalSeparator; NSString *expression = @"^([0-9]+)?(\\.,([0-9]{1,2})?)?$"; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:expression options:NSRegularExpressionCaseInsensitive error:nil]; NSUInteger numberOfMatches = [regex numberOfMatchesInString:newString options:0 range:NSMakeRange(0, [newString length])]; if (numberOfMatches == 0) return NO; 个文件),但是我想知道是否有一种快速的方法来删除所有以.RData结尾的文件。

TL; DR:我不知不觉地跨多个分支提交了很多文件(我确实不需要),现在我想删除那些我认为不必要的文件。 < / p>

请注意,我通常使用Sourcetree,但是出了点问题,因此我需要再次克隆这些文件,因此,在通过浏览器执行此操作之前,我想大大减小文件的大小。否则,克隆过程可能需要几个小时。

2 个答案:

答案 0 :(得分:1)

由于您已经将以下public boolean supports(Class<?> aClass) { return MultipartFile.class.isAssignableFrom(aClass); } 个文件添加到git的索引中,除了搜索删除它们之外,别无其他方法:

.RData

如果您没有添加它们,只需在根目录中创建find . -name "*.RData" -type f -delete git add --all git commit -m "Removed .RData files" 文件并添加

.gitignore

忽略这些文件。

如果您的分支包含的提交不多,则可以从正确的开始重新创建该分支

答案 1 :(得分:0)

您可以将*.RData放入.gitignore文件中,并清理存储库。它将删除未跟踪的文件(关于SO的另一个主题,很多不错的答案)。