Git リモート/共有プレコミットフック
質問
1 つの公式リポジトリをリモートとし、そこからクローンされた複数のローカルリポジトリがある場合、事前コミットフックをそのメインリポジトリ上でスクリプト化し、そのすべてのクローンに対して強制することができますか?
どのように解決するのですか?
フックはクローンされないので、そうはならないと思います。
そのフックスクリプト自体がバージョン管理され、クローンサーバーにリンク(シンボリックリンク)されるなら可能かもしれません(OSがそのリンク機能をサポートしていればの話ですが)。
あるいは、もしフックが git テンプレートディレクトリ の一部である場合(これはクローンレポに存在することを保証するだけで、実際に使用され実行されることを保証するものではありません)。
しかし、コミットを強制するための "central" のような方法はないと思います。
Jefromiがコメントでさらに明確に説明しているように(強調)
レポと一緒に強制フックを配布するのは、本当にgitリポジトリの考え方に反していると思うのです。
私のクローンは私のリポジトリです。 . フックを実行するかどうかの選択も含めて、好きなように git を使うことができるはずです。
(そして、セキュリティの観点からは、それは本当にちょっと怖いことです。私が特定のgitコマンドを実行するたびに、特定のスクリプトを実行するように強制する能力を誰も持ってはいけません)。
私はそのコメントに同意します。そして、特定の特化したレポで、ローカルに適用されるルールを強制する方法しか見たことがありません。
たとえば、中央リポジトリに直接プッシュするのではなく、まず QA リポジトリにプッシュし、そのリポジトリは特定のルールに従っている場合にのみあなたのコミットを受け入れます。もしそうであれば、QA リポはあなたのコミットを中央リポにプッシュします。
今述べたことから直接的に導かれるもうひとつの例は、" です。 Git によるサーバーレス継続的インテグレーション "を強制する方法です。 ローカルで プライベート ビルドを強制する方法です。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
git commit コマンドで追跡した新規ファイルをコミットすると、プロンプト *** Please tell me who you are が表示されます。
-
git reset --hardとgit reset --softの違いについて
-
[解決済み] Git のフックスクリプトは、リポジトリと一緒に管理することができますか?
-
git push issues
-
[解決済み] JenkinsのGitプラグイン。特定のタグをビルドするには?
-
[解決済み] フォルダからサブモジュールのリポジトリを作成し、そのgitコミット履歴を保持する
-
[解決済み] 現在のブランチにあるファイルをメインブランチにある同じファイルに上書きしますか?
-
[解決済み] GitHub: フォークを "自分のプロジェクト "にする
-
[解決済み] gitのフックへのシンボリックリンク