MAMPでgitweb動かしたけどやりたいことと違った

git

MAMP卒業しよう、と言っているのにMAMPで記事を書く。
VirtualHost使えよってところだけど、ScriptAriasでやる。
おまけに今回、目的を果たせなかった。

ということで役に立たない内容かと思いますが、とりあえず。

背景

ってほどのことはないけど、Mercurialしか使ってこなかったけれど、今後Gitも使うことになりそうなので、練習にgitの共有リポジトリとか欲しいかな。GitHubでも良いんだけど、もう少し使い方を知ってからじゃないと、変なミスして、恥ずかしいだけなら良いけど、なんか迷惑とかかかったりしないかなー的不安が(早速間違ってforkしちゃった)。というわけで、自分環境としてGitでのhgwebっぽいgitwebってのがあるみたい。これで練習しよう。(結局、徒労だったので結果へ)

なんでMAMPか

以前にMAMP導入(アプリケーション開くだけだけど)してからそのままだから。hgwebもMAMPにおいてるし。

作業

Gitを入れる(Homebrew)

bash $ brew install git

共有リポジトリを作る

bash $ cd [共有リポジトリを入れていくディレクトリへのパス] $ mkdir hoge.git $ cd hoge.git $ git init --bare --shared=true

なんかコミットプッシュしておく

bash $ cd [仕事するディレクトリ] $ git clone [hoge.gitへのパス] $ cd hoge $ touch README.md $ git add . $ git commit -m 'Init' $ git push origin master

MAMPのApacheでCGIが動くところにgitweb.cgiをコピーする。

bash $ cd /Applications/MAMP/cgi-bin $ mkdir git;cd git $ cp /usr/local/share/gitweb/gitweb.cgi ./

gitwebのcgi以外をどっかMAMPのapacheが読める所にコピーする

bash $ cp -a /usr/local/share/gitweb/static /Applications/MAMP/htdocs/static

httpd.confにScriptAriasを設定する

bash $ vi /Applications/MAMP/conf/apache/httpd.conf 以下みたいなのを追加。
(ついでにBasic認証かけた。
$ htpassword -c /Applications/MAMP/conf/htpasswd/git/.htpasswd ohton) ScriptAlias /git "/Applications/MAMP/cgi-bin/git/gitweb.cgi" AuthType Basic AuthUserFile /Applications/MAMP/conf/htpasswd/git/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" Require valid-user MAMPのApache再起動。 1. gitwebの設定
もともとあるgitweb.cgiを使うなら、/etc/gitweb.conf を作ってやれば良いらしい。今回はMAMPのcgi-binにコピーしたものを使うので、コピーしたgitweb.cgiを編集する。 bash $ vi /Applications/MAMP/cgi-bin/git/gitweb.cgi 以下を編集する。 our $projectroot = "[共有リポジトリを入れていくディレクトリへのパス]"; とりあえずこれだけで見れるようにはなった。 あれ?でもこれ、見れるけど、どこみてcloneすれば良いんだ??

なんかこのままだと出来ないっぽい。

うまくやりたいなら、 gitolite とか gitosis とか GitLab とかがキーワードっぽい。面倒くさそうな予感。

結果

hgwebを普通に動かしただけだと、”見れる”だけだった。

gitolite とか gitosis とか GitLab とやらを調べてからまたやろう。

どうもgitが好きになれない予感が。
Mercurialで良いじゃんか~。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  1. コメントはまだありません。

  1. トラックバックはまだありません。