私は、各プロジェクトを開発ディレクトリに保持することを好むという点で、TEDの回答に同意します。しかし、私がターミナルでbashリストを見ているとき、私は3つのことを簡単に見るのが好きです。
- これはどのタイプのリポジトリですか---Git、Mercurial、またはSubversion
- 疑似中央リポジトリはどこに保存されていますか---Github.com、Bitbucket.org、GoogleCodeなど。
- 疑似中央リポジトリの所有者
プロジェクトに次の命名規則を使用することで、これを簡単に実行できることがわかりました。
~/development/project.whatwhere.who
Mercurialを使用してローカルプロジェクトのクローンを作成するのは一般的であるため、次のようにディレクトリ構造に1つのレイヤーを追加します。
~/development/project.whatwhere.who/project/ # Initial clone from remote repo
~/development/project.whatwhere.who/project.local.blah_descriptor/ # Local hg clone
私が使用する規則は次のwhatwhere
とおりです。
- github---github.comに保存されているGitリポジトリ
- gitorious---gitorious.orgに保存されているGitリポジトリ
- git---他の場所に保存されているGitリポジトリ
- gitsvn---別の場所に保存されているgit-svnを使用して複製されたSubversionリポジトリ
- hgbit---bitbucket.orgに保存されているMercurialリポジトリ
- hg.gcode---Googleコードに保存されているMercurialリポジトリ
- hg---他の場所に保存されているMercurialリポジトリ
- svn.gcode---Googleコードに保存されているSubversionリポジトリ
- svn.sforge---Sourceforge.netに保存されているSubversionリポジトリ
- svn.work----当社のsvnサーバーに保存されているSubversionリポジトリ
- svn---どこかに保存されているSubversionリポジトリ
規則は、who
単に目的の人のユーザー名です。
以下はいくつかのプロジェクトの例で、すべて私の~/development/
ディレクトリにあります。
fabric.github.bitprophet # Bitprophet's fabric project cloned from Github
fabric.github.myusername # My fork of the fabric project from Github
virtualenv.hgbit.ianb # Ianb's virtualenv project cloned from Bitbucket
growl.hg.gcode # Growl project cloned from Google code
ledgersmb.svn.sforge # LedgerSMB project checked out from Sourceforge
coldfire.gitsvn # Coldfire Subversion project at work cloned using git-svn
coldfire.svn # Coldfire Subversion project at work checked out with svn
プロジェクトが多すぎる場合にプロジェクトを整理しやすくするために、整理~/development
用のディレクトリのすぐ下にレイヤーを追加することをお勧めします。たとえば、次のディレクトリを作成できます。
~/development/workprojects/
~/development/opensrcprojects/
~/development/personalprojects/
注:私は通常、DVCSにGitを使用しているため、この回答はおそらくその方向に傾いています。