環境


  • MacOS 13.3
  • さくらレンタルサーバーのスタンダードプラン契約済
  • SSHでサーバー接続設定済
  • SourceTree インストール済

さくらレンタルサーバーにリモートリポジトリを作成


  1. SSHでサーバー接続
$ ssh アカウント名@アカウント名.sakura.ne.jp
  1. リポジトリ格納するディレクトリを作成(最初の1回だけ)
    ここに今後増えるであろうリポジトリを作っていく
$ pwd
/home/アカウント名
$ mkdir repositories
  1. ベアリポジトリ作成
$ cd repositories
$ git init --bare /home/アカウント名/repositories/アプリ名.git
  1. SourceTreeにローカルリポジトリ追加 sourcetree-1

  2. SourceTreeからリモートリポジトリに接続 sourcetree-2

origin
ssh://アカウント名@アカウント名.sakura.ne.jp/home/アカウント名/repositories/アプリ名.git

ここまでひとまずOKなのだけど、、、レンタルサーバーにノンベアリポジトリを作成する

  1. レンタルサーバーにノンベアリポジトリを作成する(最初の1回だけ)
$ cd /home/アカウント名/www
$ mkdir repositories 
  1. 空のディレクトリを作成し、クローンする
$ cd /home/アカウント名/www/repositories
$ mkdir アプリ名
% git clone /home/アカウント名/repositories/アプリ名.git/
Cloning into 'versions'...
warning: You appear to have cloned an empty repository.
done.
  1. リポジトリへ紐づいている事を確認
% cd /home/アカウント名/www/repositories/vアプリ名/
% git remote -v
origin	/home/アカウント名/repositories/アプリ名.git/ (fetch)
origin	/home/アカウント名/repositories/アプリ名.git/ (push)
  1. ローカルPCからPUSHしたらノンベアリポジトリがPULLするように設定する
$ cd /home/アカウント名/repositories/アプリ名.git/hooks
$ vim post-receive
以下をコピペする
cd /home/アカウント名/www/repositories/アプリ名
git --git-dir=.git pull origin master

権限を付与

$ chmod +x post-receive