トップ «前の日記 最新 次の日記» 追記

おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


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/<プロジェクト名>'

作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>