カレントディレクトリがリポジトリでない場合のリポジトリの操作

GitやMercurialでカレントディレクトリがリポジトリでないのだけど、操作したいということがたまにあるかと思います。


Mercurialだと

$ hg summary --cwd /path/to/repos

というふうに指定すると実行できます。


で、Gitでの方法を知らなかったのですが、--git-dirというのを指定すれば良いみたいです。

$ git --git-dir=/path/to/repos/.git log

--git-dirに指定するのは.gitへのパスなので間違えないように。それと、例のように一番最初にこのオプションを指定しないと駄目みたいです。
ハマりそうなポイントがいくつかありますが、覚えておくと便利な事もあると思うのでここにメモなのでした。