2010年5月1日(土) Vogから逃げてきました [同日]
○ [memo][git] push先のgitレポジトリを作る
サーバにGitインストール〜リモートリポジトリにコミットするまで。|WEBデザイン Tipsを参考に作業してみた。
リモートのレポジトリの用意。 家サーバでは、repositoryというユーザーがファイルを持っている。 プロジェクトごとに作業できる人が違うので、 グループが書けるようにして、pushやcommitするユーザーをグループに所属させている。
$ su repository $ mkdir /home/repository/git/<プロジェクト名>.git $ cd /home/repository/git/<プロジェクト名>.git $ git --bare init Initialized empty Git repository in /home/repository/git/<プロジェクト名>.git $ chmod -R g+w *
ルートで所有グループを変えておく。
# chgrp -R <レポジトリをいじるグループ> /home/repository/git/<プロジェクト名>.git
gidにStickyビットも必要。
# find /home/repository/git/<プロジェクト名>.git -type d -exec chmod g+ws {} \;
これでpushっできるようになった。 手元のホストより、
$ git remote add origin ssh://<ユーザー名>@<サーバ名>/home/repository/git/<プロジェクト名>.git $ git push origin master
最初、chmog g+sをせずに試したら、下記のように止まった。
$ git push origin master Counting objects: 147, done. Delta compression using up to 4 threads. Compressing objects: 100% (147/147), done. fatal: unable to create ./objects/tmp_pack_Uu3nze: Permission denied error: pack-objects died with strange error error: failed to push some refs to 'ssh://<ユーザー名>@<サーバ名>/home/repository/git/<プロジェクト名>'
[ツッコミを入れる]
最近のツッコまれどころ