問題タブ [git-post-receive]

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 投票する
1 に答える
631 参照

git - 受信後のサブモジュールを使用した裸の git checkout

サブモジュールを含む post-receive フックでサーバー上の裸のリポジトリをチェックアウトするにはどうすればよいですか?

私は現在これを受信後フックとして持っています:

しかし、これではサブモジュールは初期化されません。

マニュアルのテストのためにこれを試しました:

submodule updateコマンドは次のエラー メッセージで失敗しました:

その動作はすでに (未回答) ここで疑問視されています: Git submodules with separate work_tree

それらがすでにそこにある場合、それらを再初期化しないのも良いでしょう。

0 投票する
0 に答える
540 参照

git - 受信後フックを使用したgitpush後のディレクトリ権限

これに関する投稿はたくさんあると思いますが、問題の一部は、apacheが正しく実行されていない可能性があることだと思います。

見る前core.filemodeに、最初に同じユーザー/グループを使用してローカルとサーバーの両方のファイル/ディレクトリを取得する必要がありますか?

たとえば、ユーザーとしてapacheを実行することについて何か読んだことがありますが、これは設定のより良い方法ですか?

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

php - Git Post-Receive フックによる変更の追加に一貫性がない

bitbucket アカウントにプッシュされたすべての新しいブランチをプルする post-receive フックを作成しようとしています。次に、それらの変更をプッシュした人が特定の開発サイトの指定ユーザーである場合、ブランチは自動的にチェックアウトされます。

これはコードです:

問題はこれです:

いつもうまくいくとは限りません!ブランチをチェックアウトする必要がある場合でも、チェックアウトしない場合があります。また、新しいブランチをチェックアウトするときにファイルが残ることがあります。これにより、git は、そのブランチ内にない多数のファイルが変更されたと報告します。

助けてください!非常に立ち往生。

ありがとう

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

php - phpgitpost-recieveフックを実行する安全な方法を探しています

git pullを実行するフックがありますが、追加されたファイルを書き込む必要がある場合は失敗します。それがapacheとして動作するユーザーであり、書き込み権限が付与されている場合(書き込みアクセス権を持つグループにapacheを追加することにより)、gitpullfineを実行できます。

私はいくつかの解決策を考え出しました...

  • 書き込み権限を持つグループでapacheを維持する(安全でないと感じる)
  • ファイルの所有権をapacheに変更する(安全ではなく、ハッキー)
  • sudoを使用する(ただし、パスワードを保存するか、パスワードを持たない必要があります)
  • git pullの実行の前後にapacheの書き込みを追加するchmodを実行する(ハッキー)

ただし、これらはすべて、安全でない/ハッキーなソリューションのようです。

これらの問題を回避するために使用した提案や方法を共有してください。特にこのハードルを自分でジャンプしなければならなかった場合は、解決策を聞いてみたいと思います。

0 投票する
0 に答える
38 参照

git - 一貫性のない受信後フックの失敗

サーバー上の裸のレポにプッシュするワークフローをセットアップし、受信後フックがファイルをサイトの提供元のフォルダーにコピーします。

ただし、この方法でセットアップしたサイトの 50% のみが実際に機能し、残りの 50% では post-receive フックがサイト ディレクトリにファイルをコピーしていないようです。

サーバー上のすべてを削除して再起動すると問題が解決することがよくありますが、これらをより確実に機能させるためのトリックがあるかどうか、または問題をトラブルシューティングする簡単な方法があるかどうか疑問に思っていました-現在私は:

  1. post-receive フックのパスが正しいことを確認してください
  2. post-receive フックが実行可能であることを確認します

これらを更新/確認したら、他に何かしなければならないことはありますか?

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

git - 別のコンピューターのGitポスト受信フック

ローカルでの作業やテストなどが完了したら、次のように変更をライブでプッシュできるようにWebサイトを設定しました。

git push khwp

これはうまくいきます。また、ローカルファイルはDropboxフォルダーにあるので、ラップトップでも作業できます。ただし、後者の場合、前述のコマンドは機能しません。ファイルを追加してコミットすることはできますが、何らかの理由でpushコマンドが機能しません。

どうすればこれを修正できますか?

私はおそらくgitを初めて使用することを追加する必要がありますが、あなたはそれを理解したと思います...

編集:これは私が得ているエラーです:

企業のファイアウォールも「プッシュURL」もありません。キーは問題なく構成され(パスワードなしでサーバーにSSH接続できます)、ユーザー名と電子メールも設定されます。

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

git - gitフックをテストする方法

「テスト」はGitフックの一般的な使用法であるため、私の質問を検索するのは困難です。

私はかなり複雑なgitpost-receiveフックを書いていますが、それをテストするための最良の方法を知りたいです。現在、私のプロセスは次のとおりです。

  • ダミーの「リモート」リポジトリで受信後の変更を行う
  • ダミーのローカルリポジトリに変更を加える
  • ダミーのローカルリポジトリで変更をコミットする
  • 変更をダミーのリモートリポジトリにプッシュ

これをテストする簡単な方法はありますか?理想的には次のようになります。

  • ダミーリポジトリでポストレシーブに変更を加える
  • 「magic」コマンドを発行して、受信後をテストします

おそらく、前のプッシュを「再発行」するか、リモートリポジトリに特定のハッシュでプッシュを受信したかのように動作させることができますか?

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

git - Git:受信後の理解

私は最近SVNから移動した後、Gitの世界にかなり慣れていないので、post-receiveフックを理解しようとしています。

うまくいけば、これはサーバー側のフックであると言っているのは正しいですが、post-receiveフックを使用してコマンドをクライアント側で実行するにはどうすればよいですか、またはこれを実現するための別のフックはありますか?


例えば。

post-receiveフックはサーバー上で実行されます。クライアント/コミッターにコマンドを送信し、そのコマンドはコンピューター上で実行されます(例:echo Commitreceived)。


そして、これをすべて完全に間違えた場合は申し訳ありません-私はGitを初めて使用します。

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

git - GIT リポジトリの作成中に受信後の電子メールであふれないようにする

GIT リポジトリ作成の初めてのメールの洪水を止めようとしています。たとえば、SVN から GIT に移行していて、SVN で既に作成されたコミットに関する大量のメールを受信したくないとします。

また、既存のコミットの電子メールのフラッディングを停止できるユース ケースも知りたいです。

post-receive フックからこれを行う予定で、gitolite を使用しています。