ruby 优化和缩小您的GIT存储库(Ruby脚本)。来自Jeff Smith @ rallydev.com。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 优化和缩小您的GIT存储库(Ruby脚本)。来自Jeff Smith @ rallydev.com。相关的知识,希望对你有一定的参考价值。
#!/usr/bin/env ruby
# Original Scripting by Jeff Smith at http://rallydev.com/, https://www.rallydev.com/community/engineering/shrinking-git-repository-move-githubcom.
module ShrinkIt
BUCKETS = 4
def self.remove(files)
files.each_slice(files.size / BUCKETS) do |portion|
paths = portion.join(" ")
ShrinkIt.stream_command("git filter-branch --index-filter 'git rm --cached --ignore-unmatch #{paths}'")
ShrinkIt.stream_command("rm -rf .git/refs/original/")
ShrinkIt.stream_command("git reflog expire --expire=now --all")
ShrinkIt.stream_command("git fsck --full --unreachable")
ShrinkIt.stream_command("git repack -A -d")
ShrinkIt.stream_command("git gc --aggressive --prune=now")
end
end
def self.stream_command(cmd)
puts "#{Time.new} Starting #{cmd}"
IO.popen(cmd) do |data|
while line = data.gets
puts line
end
end
end
end
large_files = []
large_files << "largefile1.jar"
large_files << "HugeDirectory/*"
large_files << "ThirdParty/*"
large_files << "Stuff/*"
large_files << "sub-project/*"
large_files << "zipNotNeededAnymore.zip"
ShrinkIt.remove(large_files)
以上是关于ruby 优化和缩小您的GIT存储库(Ruby脚本)。来自Jeff Smith @ rallydev.com。的主要内容,如果未能解决你的问题,请参考以下文章
不能 git aws.push 到带有 ruby 存储库的弹性豆茎
ruby Gitorious存储库托管服务,您可以在自己的服务器上安装,哈希Git存储库,这使得链接很难
清理巨大的 Git 存储库
如何使用Rugged ruby gem拉出git存储库
错误 Ruby“您的 Ruby 版本是 3.0.2,但您的 Gemfile 指定了 2.7.1”
如何使用 Ruby 和 Gitlab 优化占用的内存