hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

cloneしたgitのリポジトリのURLのリストを作る

~/checkout/みたいな場所にgitのリポジトリをcloneしまくってるのだけど,数十ギガバイトくらいあったので,新しいコンピュータに移すのをあきらめた.
cloneしたリポジトリのURLのリストを取っておいて,そのリポジトリが必要になったらリストから探して新しいコンピュータでcloneし直す,ということにした.


こういうRubyのスクリプトを書いておく.

Dir.pwd.tap{ |root|
  Dir.glob('*').each{ |path|
    File.join(root, path).tap{ |_|
      next unless File.directory? _
      Dir.chdir _
    }
    `git remote -v 2> /dev/null`.tap{ |_|
      puts _.split(/\s+/)[1] unless _.empty?
    }
  }
}


~/checkout/みたいな場所で実行して結果をファイルに保存しておく.

% ruby ~/Dropbox/collect-git-url.rb | tee git-repository-list.txt
...
git@github.com:hitode909/gigaschema.git
git@github.com:hitode909/glitch-ime.git
git@github.com:hitode909/google-chrome-kojiki.git
...


リポジトリのURLが並んだファイルができるので,これを取っておけば,必要になったときにcloneし直せる.