A Day in the Life

2011-02-07

git-ssh-create で自分用レポジトリを ssh 越しのサーバにかんたんに作る

自分用にプライベートなレポジトリをどっかのサーバに置く時に、毎回サーバに ssh で入って bare レポジトリ作って、というのがめんどくさいので ssh 越しにコマンド投げてレポジトリを作ってかんたんに push できるようなコマンド、git-ssh-create というのを作った。

$ git config --global git-ssh-create.server gorou@hotchpotch.in
$ git config --global git-ssh-create.repos var/git/repos

で、サーバの設定や配置したいレポジトリの場所を git config で設定して git-ssh-create を実行する

$ git-ssh-create
Initialized empty shared Git repository in /home/gorou/var/git/repos/example.git/
ssh publish successed!
next:
 git remote add origin gorou@hotchpotch.in:var/git/repos/example.git
 git push origin master

すると、カレントディレクトリ名からレポジトリを作ってくれる。$ git-ssh-create 好きな名前 でレポジトリ名を指定も出来る。んで next: 以下に表示されてるコマンドを手元の git レポジトリに貼り付ければ

$  git remote add origin gorou@hotchpotch.in:var/git/repos/example.git
$  git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 207 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To gorou@hotchpotch.in:var/git/repos/example.git
 * [new branch]      master -> master

と、かんたんに ssh 越しのレポジトリに push できる感じ。もちろんリモート先のサーバには git がインストールされてる必要がある。

さくらの VPS で名前解決が遅い

初期で入ってる CentOS は解らないけど、OS 再セットアップで入れた Debian の初期設定だとサーバ内部からの apt や HTTP GET の名前解決が遅かったので、/etc/resolv.conf を

search sakura.ne.jp
nameserver 8.8.8.8
nameserver 210.188.224.11

と 8.8.8.8 の Google Public DNS を追加したら一瞬で解決するようになった。ほかにもも一人さくら VPS の Debian の人もこれで早くなったらしいので、遅いと感じてる人は試してみると良いかも。