2012-05-08 15 views
0

私はローカル(自分のマシン上)とリモート(ライブサーバーから)という2つのリポジトリをすでに作成しています。リモートのものは裸のリポジトリです。ファイルはすべてHTMLファイルです。Git:ローカルリポジトリとリモートリポジトリを作成しました。リモートリポジトリにプッシュしたファイルをどのように使用できますか?

ここで私の質問は、リモートのものにプッシュしたファイルをウェブからアクセスできるようにするにはどうすればよいのですか?私はライブサーバーから別のリポジトリを作成し、それを裸のリポジトリから取得する必要がありますか? symlinkがこれに対応しますか?

+0

[git daemon](http://schacon.github.com/git/git-daemon.html)を使用してhttpを通してリポジトリを公開する必要があります。 – KurzedMetal

+0

@ KurzedMetal - 私はそれを試みます。ありがとう! – JoenasE

答えて

0

リモートレポを複製することで問題を解決することができました。

私は /home/user/repo/mywebsite.gitである私のリモートレポ、 I'LLにプッシュする場合、私はその後 git clone /home/user/repo/mywebsite.git .

をした私のリモートレポは私の

/var/www/mywebsite 

の内側そう

/home/user/repo/mywebsite.git 

に位置しています

ただgit pull/var/www/mywebsite

git-daemonがうまく動作しなかったので、これが私と同じ問題を抱えている人に役立つことを願っています。

0

サーバにベアリポジトリを作成した場合、ファイルが表示された作業ツリーは含まれません。これは通常、リモートストアに必要なものです。

しかし、Webサーバー経由でファイルを提供したい場合は、作業ツリーにアクセスする必要があります。また、提供されたWebディレクトリにベアレポをクローンすると、あなたと(Webサーバー)がファイルにアクセスします。

git repo自体をウェブ経由でナビゲートする(つまりログなどを見る)場合は、git-daemonをインストールし、それを裸のgitリポジトリに指定する必要があります。

0

IMHO最良の解決策は、サーバ上のgit push hookスクリプトを設定することです。このスクリプトは、裸のレポ(推測、マスターブランチ)からWEBソースフォルダにファイルを複製/更新します。

+0

私はすでにフック/ポスト受信#!/ bin/shのフックを設定しようとしました GIT_WORK_TREE =/var/www/mywebsite git checkout -f。しかし、私がプッシュするたびに、「テキストファイルがビジー状態です」というエラーが出ます。そのエラーの原因は何ですか? – JoenasE

+0

'/ var/www/mywebsite'はローカルのgitリポジトリですか?最初に引っ張った? 'git'(または' gitosis')ユーザとしてログインし、/ var/www/mywebsiteディレクトリから 'git checkout'を実行しようとしましたか? – radistao

+0

'/ var/www/mywebsite'がライブサーバにあります。私のリモートレポが配置されているサーバと同じサーバ。 – JoenasE

関連する問題