読者です 読者をやめる 読者になる 読者になる

Folioscope

プログラミング/Unix系/デザイン/CG などのメモがもりもり

GitのRemote URLを極限まで短く

現在自分は,VPSにプライベートGitリポジトリをおいており,SSHでアクセスしている. リポジトリをたくさん持つと,リモートホストの指定をより短くしたいと思うのが人間の性である. GitでSSHプロトコルを使用するにはURLにssh://...を使用すればいいのだが, scp-likeでも指定できる.

$ git clone [user@]host.xz:path/to/repo.git/

これをどうして短くしようか.

GitでSSHプロトコルを使用するとき,システム内部のsshコマンドを使用する. つまりSSHの設定ファイルをロードする. .ssh/configに次のように設定を記述してみる.

HOST mygit
HOSTNAME myhost.example.com
USER git 
PORT 12345

するとどうだろう,SSHmygitにアクセスでき,Gitからもmygitにアクセスできる.

$ git clone mygit:path/to/repo.git/

そしてscp-likeということはpath/to/repo.gitとすると, リモートホストのホームディレクトリからの相対パスとなる. そのためリモートホストのホームディレクトリにリポジトリを使用すると,パスを省略できる.

$ git clone mygit:repo.git

そして実は,末尾の.gitというのは省略可能である. よって最終的には次のようになる.

$ git clone mygit:repo

どうだろうか,ずいぶんと短くなった.

SSHでアクセスできるGitHubも同じく,.ssh/configで短くしよう.

HOST github
HOSTNAME  github.com
USER git 
$ git clone github:username/repo_name