19

現在、SVNを使用しています。GitHubの使用を開始したいのですが、絶対的な要件の1つは、現在のようにコードの事前コミット(事前マージ)検証を行う必要があることです。GitHubはprecommithooks(premergehooks)をサポートしていますか?

私たちは5人の開発者のチームです。すべてのコード(JavaScript)がJSLintのような検証に合格する必要があることに合意しました。自主的な検証は、簡単に忘れられるため、機能しないことが証明されています。他の人が利用できるようになるコードがJSLint(または同様のもの)に対して検証されることが保証されていることをどのように確認できますか?

4

5 に答える 5

15

私が探していたコンセプトは、プリレシーブフックでした

于 2012-12-31T06:28:37.803 に答える
2

githubがpre-commitフックをサポートしているとは思いません。ただし、gitコアはそうします。pre-commitフックをローカルに設定するか、ブランチをメインのgithubにマージする前にテストとして適用することができます。

于 2011-12-16T03:51:24.337 に答える
2

gitの基本的な何かが欠けていると思います。これは一元化されたモデルではありません(まあ、そうかもしれませんが、このように使用する場合は、githubがおそらく間違ったアプローチです)。githubを使用している場合、これを行う正しい方法は次のとおりです。

  1. メインリポジトリをホストする
  2. 開発者にそれぞれ独自のフォークを作成してもらいます
  3. 彼らを喜んでハックして、心ゆくまでコミットしてプッシュさせましょう
  4. 機能の準備ができていると彼らが考えると、彼らはあなた(メンテナ)にプルリクエストを送信します。これは、安定性を確保するためにあなた自身が確認します。次に、変更をメインリポジトリにマージ/リベースします。

当然、猫の皮を剥ぐ方法はたくさんあります。しかし、「本物のgit」(オープンソースコミュニティで採用されている種類)について話している場合、一元化された「チェックインして、くそったれの良い仕事」モデルは、特に難しいものです。大規模なプロジェクトになると。

于 2011-12-16T04:05:39.170 に答える
2

この記事では、自動化の基礎となる可能性のある非常に優れたワークフローについて説明していると思います。

http://scottchacon.com/2011/08/31/github-flow.html

主なアイデアは、上記のようにプルリクエストを使用することですが、github apiを使用して、リクエストを行うブランチをフェッチまたはプルし、マージ、テスト、検証してからターゲットブランチにプッシュできるサービスを利用することもできます。

于 2012-12-10T20:02:07.347 に答える
1

いいえ、GitHubはpre-commitフックをサポートしていません。それはどのように機能しますか?コミットはコンピューターで発生しますが、GitHubがコンピューター上で任意のコードを実行できるようにしますか?

于 2011-12-16T03:51:28.083 に答える