サクラのレンタルサーバーでgitを使う
最近gitが素敵で、rubyforgeに登録した新しいプロジェクトでもgitを選択してしまった。
ボクは自分の趣味用のSubversionリポジトリをサクラのレンタルサーバーに置いているのだが、そのリポジトリをgitに移行することにした。
git → subversionのデータ移行を期待した方には申し訳ないのだけど、ボクは過去の作業ログなど一切必要ないし、Subversionのリポジトリもすぐに消すわけではないので、この作業はしなかった。とりあえずgitで新しいリポジトリを作り、更新頻度の高いものからgitに移行することにした。
で、お決まりの作業ログ。これは頻出事項だけど、サクラのレンタルサーバーは普通にシェルが使えるので、自分のホームディレクトリ下にインストールしてPATHを通してしまえば、普通にプログラムのインストールができる。
今まで普通にプログラムをビルド&インストールした経験のある人にとっては無問題だけど、make
するときに明示的にgmake
を実行しなきゃいけないという点が1つだけ注意事項。
というわけで
### sakuraサーバー % wget http://kernel.org/pub/software/scm/git/git-1.5.5.1.tar.bz2 % tar -xjvf git-1.5.5.1.tar.bz2 % cd git-1.5.5.1 % ./configure --prefix=$HOME/local % gmake # gmakeでないと駄目 % gmake install ### $HOME/local/bin をPATHに通すのを忘れずに % cd $HOME % mkdir repos.git % cd repos.git % echo "This is my git repository" > README % git add README % git commit -m "first commit" Created initial commit f37d990: first commit 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 README # 自分のマシンに戻ってくる $ git clone ssh://youraccount@your.sakura.domain/home/youraccount/repos.git repos Initialized empty Git repository in /home/fukuda/devel/repos/.git/ remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Indexing 3 objects... 100% (3/3) done $ cd repos $ cat README This is my git repository $ echo 'Second Commit!' >> README $ git add README $ git commit -m "second commit" Created commit 7e1fb2d: second commit 1 files changed, 1 insertions(+), 0 deletions(-) $ git push origin updating 'refs/heads/master' from d3568da7b6a00e8ac802da1477a07ed1194ef34c to dc04fd100fab888b0facd5cfab6b92af132fef6c Also local refs/remotes/origin/master Generating pack... Done counting 3 objects. Deltifying 3 objects... 100% (3/3) done Writing 3 objects... 100% (3/3) done Total 3 (delta 0), reused 0 (delta 0)
あっさり成功。
gitは奥が深い。これからもっと勉強してみる。