2

Ubuntu サーバーがあり、git と gitosis をインストールしました。サーバー管理は初めてで、次の gitosis フォルダー ツリーがあります。/home/git/repositories

gitosis-admin.git をローカル マシンに複製し、gitosis.confユーザーの公開鍵を編集して keydir に追加し、それをサーバーにプッシュして、さまざまなリポジトリに対するユーザーの権利を編集しました。これは、さまざまなリポジトリと作品でテストされています。

gitosis を使用して、Web ドメイン内のフォルダーのソース管理に使用できるリポジトリを作成する方法を説明するチュートリアルに、私は本当に混乱しています。

SSH Putty を使用して web フォルダーにベア リポジトリを作成しました。ファイルを追加してコミットしました。次に、それをローカルマシンに複製しました

git clone git(at)server:web_repo.git

これは成功しました。

問題は、サーバーにプッシュバックしようとすると、リポジトリが /home/git/repositories パスに作成され、Web フォルダーのリポジトリが影響を受けないことです。

次の情報を組み合わせてみました。

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

http://urbanpuddle.com/articles/2008/07/11/installing-git-on-a-server-ubuntu-or-debian

http://danielmiessler.com/blog/using-git-to-maintain-your-website

http://toroid.org/ams/git-website-howto

http://www.ibm.com/developerworks/web/library/wa-git/

4

3 に答える 3

1

使用しているubuntuのバージョンを知っておくと役立つ場合があります。Gitosisはおそらくapt-getリポジトリにあり、確かにDebianLennyにあります。私の経験では、リポジトリからのインストールの方がはるかにクリーンです。このソフトウェアのセキュリティ問題の可能性を考えると、リポジトリを使用することを強くお勧めします。しかし、それはあなた次第です。プルとプッシュが成功した場合、このアプローチに害はありません。

gitosisを使用してgitリポジトリにプッシュすると、フック(post-updateここで必要なものです。)がgitosisまたはgitユーザーとして実行されます。あなたの問題はこれに関連しているのではないかと思います。suidpost-updateフックを作成して、ユーザーアカウントとして、またはWebエディターまたはWebサーバーユーザーとして実行できるようにすることを検討してください。代わりにchown -R git:git(またはgitosis:gitosisセットアップによっては)ローカルデプロイメントクローンを作成することもできます。sudo -u gitサーバー上でこれらのリポジトリを編集する必要がある場合は、適切なユーザーとしてを使用して変更を加えることを忘れないでください。

于 2009-11-23T00:34:23.203 に答える
0

コメントに投稿した内容から、シェルスクリプトが壊れており、WORKDIRが設定されていません(その行はコメントです)

ただし、あなたが考えていることは良い考えではないと思います(1つの例外を除いて:更新しようとしているのは開発サーバーです)

于 2009-11-05T23:27:31.547 に答える
0

http://danielmiessler.com/blog/の「Dev Box からの変更のプッシュ時に自動更新を有効にする」セクションで説明されているように、/home/git/repositories-repo に更新後のフックを設定しましたか? git-to-maintain-your-website を使用していますか? これは、中央リポジトリからライブクローンにコンテンツを取得するためのトリックです。これが機能するには、git-user がライブ クローンへの書き込みアクセス権を持っている必要があります。

于 2009-11-03T23:09:28.480 に答える