さくらのレンタルサーバにGitを入れたくて

ちょっと前まで自宅サーバを組んでそこにリポジトリを立ててソースコードの管理をしていたんだけど、自宅サーバっていう割にはMAMPをそのままつっこんで無理矢理運用してたりしててさすがにセキュア的にどーよってことでこの前落としました。電気代もアレなので。
いちおうさくらインターネットレンタルサーバを借りている身なのでそこにgitをぶち込んでソースコードの管理をしようかなとか思いました。
まずはWebで検索します。「さくら git」みたいな
するとサクラのレンタルサーバーでgitを使う - 本当は怖い情報科学みたいなサイトがヒットします。書いてあることそのまま実行します。あ、gitのバージョンだけは最新版にしました。たしか1.7.2.1。
で、ローカルのマシンに戻ってきてgit cloneとか叩くと以下のように怒られます。

$ git clone ssh://userName@Address.net/home/userName/repos.git/ repos
Initialized empty Git repository in /Users/fuji_seal/git/repos/.git/
userName@Address.net's password: 
bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly

なんか"git-upload-pack"がねーよボケ。とか言われたみたいです。それじゃまたGoogle先生に聞いてみましょう。
「git ヘルプ」「git git-upload-pack」
するとMac を git の共有レポジトリにする -- BONNOH FRACTION 14的なサイトを見つけて、そこで始めて

git clone -h

っていうオプションを見つけます。さっそく叩いてみました。

-u, --upload-pack <path>
    path to git-upload-pack on the remote

まーなんかよくわかんないけど、git clone -uでリモート先(さくら鯖のことですね!)のgit-upload-packのパスを指定できるらしい。でも、さっきのリンク先を読んでたりすると、毎回設定しないとダメっぽいですね。めんどっちぃ・・・。
現状を確認するために

$ which git-upload-pack

とか叩いてみたけど、パスは通ってて"/home/userName/local/bin"には入ってるよ!って返してくれる。
つまり、sshで繋げた時になぜかgit-upload-packがないって言われる状況ですね!解決するにはsshでつないだ時にどこのパスを参照しているのかを調べてみた。
参考にしたのはこちら -> http://d.hatena.ne.jp/p4life/20090812/1250079461
さっそくコマンドを叩いてみよう

$ ssh userNama@Address.net \$echo #バックスラッシュが必要だよ!!

するとssh接続したときに参照されるパスの一覧がでてくるよ!うちの場合だとユーザが扱えるディレクトリは/home/userName/binだったよ!
これは~/.ssh/environmentになんやかんや記述すれば変更できそうな気がするんだけど、めんどくさいから/home/userName/binにgit-upload-packとかをcpコマンドをつかってコピーしてみるよ!!

$ cp /home/userName/local/bin/git-upload-pack /home/userName/bin

とかね!!
これでgit cloneしても「コマンドねーよ!」とか言われなくなった!やった!!



とりあえずはここまで。まだもう少しエラーを吐くけどこれはサーバとかよりも僕のgitの使い方が悪そうな気配。