ローカルのgitリポジトリを,共有マシンの Mac に共有gitリポジトリとして設置したときに軽くはまったのでメモ.
既存のgitを共有リポジトリにしたいときには,bareリポジトリというワーキングコピーを持たないリポジトリを作る.githubのリポジトリとかでよく見かけるhoge.git
ってやつ.これ自体を作るのは簡単で,こんな感じにする.
> git init --bare
基本的にはこれでbareリポジトリを作って共有ディレクトリに設置すればおしまいなんだけど,既存のリポジトリを共有リポジトリにする場合には,sharedオプションをつけて,以下のようにしよう.
> git init --bare --shared
sharedオプションをつけないと,ファイルパーミッションが無くてpushできなくなってしまう.怖いのが,だいたいの場合cloneできたら「共有リポジトリ完成!」って思っちゃって,いざpushしたときにrejectされて「あれっ?」ってなるところ.というか実際ぼくがそうだった.もうなっちゃったよ!けどもっかいbareリポジトリ作るの嫌だよ!って人は直接パーミッション直したら解決できる.
> git config core.sharedRepository group > chmod -R g+ws hooks > chmod -R g+ws info > chmod -R g+ws objects > chmod -R g+ws refs
sshさえできるようにしておけばgitリポジトリを共有できるので,Macならシステム環境設定から「ファイル共有」と「リモートログイン」をオンにしておいて,共有ディレクトリにbareリポジトリを置いておけば簡単に共有できる.大抵余ったMacがどっかに転がってるはずだから積極的に使うといいと思う.
関連
リポジトリを後から共有できるようにする。 - kuma8の日記
おすすめ書籍
- 作者: 濱野純(Junio C Hamano)
- 出版社/メーカー: 秀和システム
- 発売日: 2009/09/24
- メディア: 単行本
- 購入: 31人 クリック: 736回
- この商品を含むブログ (155件) を見る