akiyoko blog

akiyoko の IT技術系ブログです

Gitメモ ~ さくらのVPSにリモートリポジトリを構築 ~

さくらのVPSに git のリモートリポジトリを構築し、ローカルマシン(Mac)から利用するという想定で、環境を構築する手順をまとめてみました。


さくらのVPSは、「さくらのVPS (CentOS 6.3) にLAMP環境を構築」に基づいて、
「3.4. rootによるログイン、パスワードでのログインを禁止(サーバ側)」までの作業を終えているものとします。





まずは、gitのバージョン確認。
ちょっと古いような気もするが、まあよしとしましょう。

$ git --version
git version 1.7.1


 

1. サーバ側(さくらのVPS 49.xx.xx.xx)

サーバ側で、空のリモートリポジトリ作成。
git init 実行時に sharedオプションを付けないと、複数人での開発ができなくなるらしいので注意しましょう。

$ sudo mkdir -p /var/git/test_repo.git
$ sudo chmod -R 775 /var/git/
$ sudo chown -R root:wheel /var/git/
$ cd /var/git/test_repo.git/
$ git init --bare --shared=true
Initialized empty shared Git repository in /var/git/test_repo.git/

2. ローカル側(Mac)

まずは環境設定を。

$ git config --global user.name "Aki Yoko"
$ git config --global user.email "admin@example.com"
$ git config --global -l
user.name=Aki Yoko
user.email=admin@example.com

ローカル側で、ローカルリポジトリを作成して、リモートリポジトリにpush。
今回は鍵を使っていますが、使っていない場合は「sakura」の部分を「admin@49.xx.xx.xx:10022」と読み替えてください。

$ cd ~
$ mkdir test_repo
$ cd test_repo
$ git init
Initialized empty Git repository in /Users/akiyoko/test_repo/.git/

$ touch README
$ git add .
$ git commit -m "Initial commit."
$ git remote add origin ssh://sakura/var/git/test_repo.git
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 214 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://sakura:10022/var/git/test_repo.git
 * [new branch]      master -> master


最後に、適当なディレクトリで clone できるかどうかチェックしてみます。

$ cd ~
$ mkdir temp
$ cd temp
$ git clone ssh://sakura/var/git/test_repo.git
Cloning into 'test_repo'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.