問題タブ [githooks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
15375 参照

git - git post-update フックから「git pull」を呼び出す

gitolite を使用して中央の git リポジトリをセットアップしました。

ユーザーがレポにプッシュするたびに、他の場所でプルを実行し、続いて自動テストを実行するようにフックを設定したいと考えています。

これまでのところ、プルを実行したいだけです。

hooks ディレクトリに、更新後に次のスクリプト名を作成しました。

./post-update を使用してこのスクリプトを呼び出すと、必要なことが正確に実行されます。

ただし、フックすると自動的に呼び出されるたびに、次のようになります。fatal: Not a git repository: '.'

なぜこれが起こっているのでしょうか?

0 投票する
1 に答える
6805 参照

git - git hook post-merge - エラー: 実行できません

プル後に git フックをトリガーするために、マージ後のフックを作成しました。スクリプトは次のようになります。

このファイルは「post-merge」と呼ばれ、pull コマンドを実行するファイルと同じ所有者を持ちます。また、適切な権限があります: 755.

git pull [remote] master を実行すると、次のエラーが発生します。

マージ後のファイルは .git/hooks フォルダーにあります。

0 投票する
2 に答える
3097 参照

git - GIT 事前受信フック

サーバー側の事前受信フックを使用して、サーバーにプッシュされているファイルを変更する方法はありますか?

ファイルの最後に次のようなものを追加したいとします。

誰かが私のレポにプッシュするたびに。

を使用して入ってくるファイルを変更する方法はありますgit hooksか?

0 投票する
1 に答える
6019 参照

git - git post-commit hook - コミットされたファイルのスクリプト

コミットされた各ファイルでスクリプトを実行するコミット後のフックの例をどこかで見ることができますか?

例えば。

そしてフックが実行されます:

最善の方法は、このフックを実行するかどうかをコミットするコマンドにパラメーターを設定することです。git commit -X… このコミット後のフックを実行します。最終的には のようなエイリアスになりgit-commitxます。

インデックス内のファイルの pre-commit フックと同じバージョンはどうですか? ファイルの 1 つでスクリプトの実行が失敗した場合、コミットを中止できますか?

編集:

これが私が今持っているものです:

0 投票する
6 に答える
31909 参照

git - リモート/共有の事前コミットフックをGit

1つの公式リポジトリをリモートとして使用し、そこから複数のローカルリポジトリを複製した場合、そのメインリポジトリでpre-commitフックをスクリプト化して、そのすべてのクローンに適用できますか?

0 投票する
1 に答える
2800 参照

git - gitosis を使用して git リポジトリへの http アクセスを管理する

[2010/9/16 更新]

昨夜これを調べた後、最初の質問が実際には2つの別々のことを求めていることに気付きました。

1) gitosis によって作成されたすべてのリモート リポジトリに更新後のフックを設定することは可能ですか (つまり、gitosismv hooks/post-update.sample hooks/post-updateでリポジトリを作成した後に手動で実行する必要はありません)。git update-server-infopost update フック内から呼び出されるという事実)。

2) HTTP 経由でリポジトリにアクセスできるようになったら、gitosis.conf のオプションを使用してアクセスのオンとオフを切り替えることができますか (daemon = noまたはに似たものgitweb = yes)

--- 質問 1 の解答 ---

git initGit はテンプレートを使用して、コマンドで新しいリポジトリを作成することが判明しました。mv hooks/post-update.sample hooks/post-updateテンプレートディレクトリ内で実行することによりgit init、私のサーバーでの今後のすべての呼び出しで、更新後のフックが正しく構成されます。(OSXでは、テンプレートディレクトリは/opt/local/share/git-core/templates/気にする人のためのものです)

これが機能するためのもう 1 つの要件は、リポジトリの HTTP クローン URL が次のようになるように、Apache 書き換えルールを有効にすることです。http//git.example.com/repo.git

私の書き換えルールは次の/etc/apache2/extra/httpd-vhosts.confようになります。

--- 質問 2 の解決策をまだ探しています...ヘルプ! :) ---

HTTP クローンがすべてのリポジトリで機能するようになったので、gitosis を使用して HTTP アクセス制御を管理する方法があるかどうか疑問に思っています。リポジトリへの git-daemon およびgitwebアクセスを設定daemon = nogitweb = noてオフにしますが、Apache 書き換えルールがまだ有効であるため、リポジトリは. これを管理するために gitosis を使用する方法についてのアイデアはありますか?http://git.example.com/repo.git

【最初に投稿した質問】

gitosis を使用して git リポジトリへの http アクセスを管理することは可能ですか? たとえば、gitosis.conf では、次を使用して gitweb と git-demon のアクセスを管理できます。

現在、次のコマンドを発行してリポジトリのクローンを作成できます。

ただし、次のコマンドを発行すると:

次のエラー メッセージが表示されます。

ただし、サーバーにログインして repo.git 内から次を実行すると:

その後、http によるクローン作成は正常に機能します。

gitosis 内からリポジトリへの http アクセスを管理する方法はありますか?

0 投票する
1 に答える
1374 参照

git - git commit not push 後にメールを送信する

リポジトリにコミットした後、差分付きのメールを送信する必要があります。プッシュ後にメールを送信する方法は知っていますが、コミットでは機能しません。

プッシュ用に、 parameters を取得するフック post-receive を作成しました。しかし、フック post-commit はパラメーターを受信しないため、メールを送信するスクリプトを使用できません。

コミット後のフックで newrev と refname に関する情報を取得する方法や、コミット後にメールを送信する別の方法があるのではないでしょうか?

0 投票する
3 に答える
2430 参照

git - git: post-receive フックをプッシュした人

誰がリポジトリにプッシュしたかを特定するにはどうすればよいですか?

つまり、誰かがそうgit push origin masterし、レポのポスト受信フックで、origin誰かの名前または電子メールを使用する必要があります。

0 投票する
5 に答える
11937 参照

git - git:受信後フックの空の引数

dirpost-receive-emailからのスクリプトに基づいて受信後のフックを書いていますが、引数と引数が空のようです。contriboldrevnewrev

スクリプトは次のようになります。

スクリプトはプッシュで実行されますが$1、、、および$2はすべて空です。それを実行するために何かを構成する必要がありますか?$oldrev$newrev

(リポジトリは、gitolite重要な場合によって作成されました)

0 投票する
2 に答える
10059 参照

git - Git:改行\rをgitフックで改行\nに変換しますか?

仲間のコーダーが Windows コンピューターを使用しており、ソースのいたるところにキャリッジ リターンが挿入されています。

\r\nすべてを に変換する git フックを作成する方法はあり\nますか?

私は以前に git フックを使用したことがないことに注意してください。