🖥

Github Gist を1個のレポジトリでまとめて管理する ( git submodule を利用 )

2023/08/26に公開

Gistはお手軽にコードが書けて、なおかつレポジトリ管理も出来てなかなか便利だ。

だが欠点もある。

  • レポジトリがバラバラになってしまう
  • URLに自動的にハッシュが割り振られるので、名前を思い出しにくい

そこで通常のGithubレポジトリでまとめてGistを管理してみる。

Githubに集約用レポジトリを作成

例:

https://github.com/YumaInaura/gist

Gistを作成する

Webから作成。

image.png

割り振られたURLの例:

https://gist.github.com/YumaInaura/8d52e73dac7dc361745bf568c3c4ba37

集約用レポジトリに submoduleとして追加する

コマンド:

git submodule add [GistのURL] [好きなディレクトリ名]

例:

git submodule add https://gist.github.com/YumaInaura/8d52e73dac7dc361745bf568c3c4ba37 understandhing_channel_buffer

ここでディレクトリに好きな名前を付けておくと、思い出しやすいと思う。

( 手元からpushも出来るようにする場合はこちらを参照 — Github Gist に手元から push する - Qiita )

集約用レポジトリにpushする

これでsubmoduleで管理された状態が、本体のレポジトリに反映される。

Githubでの見え方

集約用レポジトリからGistへのリンクが貼られているのが分かる

image.png

リンク先はGistだ

image.png

ページ例:

https://github.com/YumaInaura/gist/tree/master/go

集約用のレポジトリをcloneする

--recurse-submodules オプションを付けると、submodule分まで全て手元に持ってきてくれる。

例:

git clone --recurse-submodules https://github.com/YumaInaura/gist

submoduleの数が多くなるとすごいclone数が発生しそうだが、それはそれでまた困った時に考える。

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2018-07-29

Discussion