問題タブ [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.
git - git:リポジトリ監視ツール
良いレポ監視ソリューションを知っていますか?
誰かがリモートリポジトリにプッシュしたときに情報を取得したい(できればタスクバートレイアイコン:「誰かがプッシュした…」を介して)。
私が考える他の解決策:
- フックを受け取る
- cron経由で定期的にgitlog
- すべてのgitコマンドの実行に関する更新を確認してください
(私の選択したシステムはUbuntuです)
ruby - rspec にファイルをロードしないように指示する
いくつかのコミット フックを git リポジトリに追加しようとしています。Rspec を活用して、コミットするたびに実行されるコミット メッセージ仕様を作成したいと考えています。「spec」コマンドの外で rspec を実行する方法を見つけましたが、興味深い問題が発生しました。
これが私の現在のコードです:
.git/hooks/commit-msg
これは、describe 呼び出しに到達したときにエラーをスローしています。基本的に、受信したコミット メッセージは、spec を読み込んで実行するファイルであると考えます。これが実際のエラーです
ファイルをロードしないようにrspecに指示する方法を探しています。独自のスペック ランナーを作成する必要があるのではないかと疑っています。rspec-1.3.0/lib/spec/runner/example_group_runner.rb でこれらの行を表示した後、この結論に達しました
しかし、その前にフィードバックをお願いします。何かご意見は?
ruby-on-rails - gmail での git-commit-notifier
まず最初に、私が完全な Ruby 初心者であることを知っておいてください :)
システム (Ubuntu 10.04) にgit-commit-notifier ( http://github.com/ilozka/git-commit-notifier ) をインストールし、すべてのインストール手順に従いましたが、git リポジトリにプッシュするたびにこのエラーが発生します。メッセージ:
エラーを emailer.rb スクリプトまで追跡しました。具体的には次の行:
パラメータは正しく渡されたようです(私はそれを確認しました)。
私の構成スクリプトは次のようになります。
この問題を解決する方法を知っている人はいますか? 同じサーバーに Redmine があり、正常に動作します。メール送信も問題ありません。
ありがとうございました
git - Git フックはファイルをコミットに自動的に追加できますか?
そのコミットで変更されたファイルに応じて、Git のコミット前またはコミット後のフックを使用して、自動生成されたファイルを同じコミットに追加したいと考えています。これについてどうすればいいですか?
これをプリコミットフックとして試しましたが、うまくいきませんでした:
これにより、それらがリポジトリに正常に追加されますが、コミットには追加されません。また、コミット前のインスペクションとともに、コミット後のフックで最後の2つのexec行を使用しようとしましたが、どちらもうまくいきませんでした。
git - Python/bash スクリプトで Git フックを作成する
最近、すべてのコミットが特定のチケットを参照するように、git フックを作成する必要がありました。
学びのスタート地点になればと思っていました。pro git book の内容はすべて Ruby で書かれています。Ruby は私の得意分野ではないので、他の言語で書かれた git フックに関するチュートリアルを共有できる人はいますか? (私は特に Python または Bash スクリプトを好みます。)
git - トップレベルでのディレクトリ作成を禁止する Git フック
プッシュまたは直接ファイルの作成中に、ユーザーによるトップレベルのディレクトリの作成を停止するのを防ぐより良い方法はありますか?
git - git フック プッシュとローカル コミット
私は最近、プロジェクト チームのために git フックを作成しています。開発者が標準のコミット メッセージ パターンに従わずにローカルでさまざまなコミットを行っているかどうかを知りたいです。次に、それらのコミットをプッシュします。コミットがパターンに従っていないためにプッシュが失敗することはありますか?
望ましい結果は、彼らが望むようにローカルでコミットできるようになり、主要な企業ブランチにプッシュバックするときに構造的な方法に従うことを余儀なくされることです.
考え?これはベストプラクティスですか?
python - git サーバー側フック
サーバー上で次の python スクリプトを実行して、特定の構文に従っていることを確認するプッシュのコミット情報を探しているときに問題が発生しました。ユーザーから入力を取得できないため、ユーザー名とパスワードがハードコードされています。この特定のプッシュの前に発生したコミット メッセージのリストも取得できません。
このコードの目的は、ローカルで行われたコミットをチェックし、それらを解析して目的のパターンを探し、その PR が存在するかどうかを Jira でチェックすることです。これは、リポジトリへのプッシュでアクティブになるサーバー側のフックです。
Python フックの作成に関するヒントをいただければ幸いです。よろしくお願いします。
git - Git フックをリポジトリに配置する
プロジェクトリポジトリに入れることは悪い習慣だと考えられていますか.git/hooks
(たとえば、シンボリックリンクを使用して)。はいの場合、同じフックを異なる Git ユーザーに配信する最良の方法は何ですか?
git - Gitの受信/更新フックと新しいブランチ
'update'フックに問題があります。新しいブランチの場合、「oldrev」として0000000000000000000000000000000000000000を取得します。そして、私はそのケースを処理する方法がわかりません。
すべてのコミットメッセージが有効なJiraの問題を参照するという要件があります。そこで、中央リポジトリに「更新」フックをインストールしました。そのフックは「oldrev」と「newrev」を取得します。次に、それらを次のように「gitrev-list」に渡します。
git rev-list $oldrev..$newrev
これにより、すべての回転数のリストが表示されます。このリストを繰り返し処理して、必要な処理を実行できます。
問題は、ユーザーが新しいブランチをプッシュすると、フックがoldrevとして0000000000000000000000000000000000000000を取得することです。そして、「gitrev-list」は単に次のように文句を言います。
fatal: Invalid revision range 0000000000000000000000000000000000000000..21bac83b2
では、その新しいブランチにあるすべての回転数のリストを取得するにはどうすればよいですか?私はかなり長い間ネットを検索しましたが、何も見つかりませんでした。私が見つけたフックの例
- 問題を処理せず、上記のエラーメッセージで失敗します
- oldrevを""に設定して問題を誤って修正しようとすると、rev-listから誤った結果が返されます。
- 彼らがそのoldrevに遭遇したときに単にあきらめる
これらのどれも特にエキサイティングに聞こえません。
それで、誰かがその場合に正しい答えを得る方法を知っていますか?「newrevから到達可能であるが、他のブランチ(=新しいブランチを除くすべてのブランチ)からは到達できないすべての回転数を取得する」ためにgitにクエリを実行することを考えていました。しかし、それでも、新しいブランチから古いブランチへのマージがあった場合、間違った答えが返されます。