混沌化する GitHub で公開しているリポジトリ群
自分は公開ソースコードの置き場として、主に CodePlex と GitHub、および Gist を利用している。
特に、実験や練習用のコード、あるいはこうしたブログ記事向けのサンプルコードなどは、GitHub に置くことが多い。
CodePlex はもう少しフォーマルなプロダクトのソースコードや、ビルド済みの Windows OS 向けデスクトップアプリケーションを ClickOnce テクノロジーでダウンロード&実行できるように配布する拠点として使う感じだ。
また、ASP.NET Web アプリケーションのコードを置くことが多く、ビューの .cshtml ファイルや C# コードの .cs ファイルなど複数のファイルを、サブフォルダ階層にまたがって配置することから、Gist は使えず、通常の GitHub 上の公開リポジトリとして配置している。
※2013年5月現在、私が知る限り、Gist には (複数のファイルを載せることはできるものの) サブフォルダを登録することができなかったはず。
こうした背景から、自分の GitHub アカウントの公開リポジトリ数がじわじわと増加中。
そしてそうしたリポジトリの多くが、先に書いたような実験や練習、サンプルといった、雑多なリポジトリが多くを占めるに至っている。
NuGet でパッケージ公開しているライブラリのソースコードなど、自分の中で "メジャー" な位置づけのリポジトリと、それ以外の雑多なリポジトリとが入り混じって、自分の GitHub アカウントのリポジトリ群がかなり混沌としており、もう少し分類・整理できないものか、悶々としていた。
Organization で区切ってみよう
そこで思いついたのが、「Organization」を使う方法だ。
自分の GitHub アカウント以下に雑多系のリポジトリを置くのではなく、あらかじめ雑多系のリポジトリを配置するための Organization を新規作成しておき、そちらの Organization 以下に雑多系のリポジトリを置くのだ。
Organization を作成する具体的な手順は以下のとおり。
まずは Web ブラウザにて GitHub のサイトを開き、自分の GitHub アカウントでサインインしておく。
続けてページ左上寄りにあるドロップダウン ("switch context button" と言うらしい) を開き、「+ Create Organization」をクリック。

ページが切り替わり、Organiation 新規作成のページになるので、新しく作る Organization の名前と請求送信先 e-mail アドレスを入力する。
ここでは雑多系のリポジトリを収納する Organization ということで、「sample-of-{自分のGitHubアカウント名}」としてみた。

最後に「Create Organization」ボタンをクリックすれば、Organization の新規作成は完成。
自分のアカウントが既定でこの新規作成した Organization のオーナーになっている。
新規 Organization 作成完了のページでは、続けてこの Organization のメンバー追加が行えるようになっているが、今回は用がないのでこれ以上何もしない。

以上で、雑多系のリポジトリを収納するための Organization ができあがった。
あとは "switch context button" から、自分のオリジナルの GitHub アカウントか、今回こうして作成した Organization かを選択することで、以後の GitHub 上での操作をどちらで行うかを切り替えできるようになる。


これで自分のオリジナルの GitHub アカウント以下には、ある程度まとまったリポジトリだけを配置することができ、すっきり整理することができるようになった。