自習系GitHubリポジトリをひとつにまとめてみた
厳密には、"今日覚えたこと"を書いていくという、一部で流行りの気配を見せている til (Today I learned) リポジトリの真似をして、自習系リポジトリをまとめてみた、という記事ですな。
(切欠) GithubでTILというリポジトリが流行りつつあるのかもしれない - 生涯未熟
元リポジトリ(4つ)
出来上がり状態
新設した til リポジトリに各リポジトリを内包させる形で git filter-branch
していく。各リポジトリのコミット履歴は残り、元リポジトリの名称のブランチから master にマージされたかたちになる。
参考にしたサイト
コメント欄にあるとおり、本文中の git filter-branch
の部分がMacだとエラーになってしまうので、コメントにあるコマンドを使った。
また、electron-sample リポジトリは、直下に同名のディレクトリが存在していたので、これを src にリネームしたうえで実施してみたが、「コミット履歴中にリポジトリ名と同名のフォルダが存在すると...」というこれまたコメント欄にあるとおりのエラーになったので、こちらもMac版のコマンドに修正したうえで実施した。
つまり、まとめると
#GitHub Account ACCOUNT=shionit #Source Repository REPO=XXXXX # at dest repository path git remote add $REPO git@github.com:$ACCOUNT/$REPO.git git fetch $REPO git checkout -b $REPO $REPO/master git filter-branch -f --tree-filter "mkdir __temp__ && git mv -k {,.[!.],..[!.]}* __temp__/ && mkdir $REPO && git mv -k __temp__/{,.[!.],..[!.]}* $REPO/" git checkout master git merge $REPO
結果、単一の自習リポジトリにまとめられてスッキリですな☆