1

I have a git repo that has a docs directory where I keep markdown files that document things I'm working on (for example, I have one called setup_git_server.mdown). I push and pull the repository (and others) from my own webserver running gitolite.

What I want to happen is that whenever I push a commit to the server, it automatically converts the markdown files to HTML and copies them to a directory on the server where Apache can server them.

What's the best way to do this?

4

2 に答える 2

2

リポジトリがホストされているサーバーに git フックをセットアップする必要があります。フックは、それがインストールされているマシンでのみ実行されます。フック自体は、チェックインされたコード ベースの一部ではありません。たとえば、ローカル マシンにあるポスト コミット フックは、サーバーでプッシュまたは実行されません。あなたのコード ベースをチェックする他の人は、あなたのフックを取得しません。

プッシュを受信したときにサーバーにアクションを実行させたい場合は、受信後フックを作成する必要があります。フックは、任意の実行可能ファイルにすることができます。あなたの場合、リポジトリを一時ディレクトリに複製し、マークダウン ファイルを抽出して、それを Web サーバーに公開することができます。

gitolite も同じかどうかはわかりませんが、gitosis では、ホストされている各リポジトリの最上位に hooks ディレクトリがあります。post-receive フックをそのディレクトリに配置します。

于 2012-08-02T00:46:38.357 に答える
0

.git ディレクトリで「hooks」という名前のサブディレクトリを探します。そこには、さまざまなイベントに応答するサンプル シェル スクリプトがあります。ポストコミットなどのいずれかを選択し、ドキュメントを更新するように調整します。

git フックとその仕組みを参照するか、「git フック」については Google を参照してください

于 2012-08-01T22:42:43.120 に答える