問題タブ [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.
git - 受信後のサブモジュールを使用した裸の git checkout
サブモジュールを含む post-receive フックでサーバー上の裸のリポジトリをチェックアウトするにはどうすればよいですか?
私は現在これを受信後フックとして持っています:
しかし、これではサブモジュールは初期化されません。
マニュアルのテストのためにこれを試しました:
submodule update
コマンドは次のエラー メッセージで失敗しました:
その動作はすでに (未回答) ここで疑問視されています: Git submodules with separate work_tree
それらがすでにそこにある場合、それらを再初期化しないのも良いでしょう。
git - 受信後フックを使用したgitpush後のディレクトリ権限
これに関する投稿はたくさんあると思いますが、問題の一部は、apacheが正しく実行されていない可能性があることだと思います。
見る前core.filemode
に、最初に同じユーザー/グループを使用してローカルとサーバーの両方のファイル/ディレクトリを取得する必要がありますか?
たとえば、ユーザーとしてapacheを実行することについて何か読んだことがありますが、これは設定のより良い方法ですか?
php - Git Post-Receive フックによる変更の追加に一貫性がない
bitbucket アカウントにプッシュされたすべての新しいブランチをプルする post-receive フックを作成しようとしています。次に、それらの変更をプッシュした人が特定の開発サイトの指定ユーザーである場合、ブランチは自動的にチェックアウトされます。
これはコードです:
問題はこれです:
いつもうまくいくとは限りません!ブランチをチェックアウトする必要がある場合でも、チェックアウトしない場合があります。また、新しいブランチをチェックアウトするときにファイルが残ることがあります。これにより、git は、そのブランチ内にない多数のファイルが変更されたと報告します。
助けてください!非常に立ち往生。
ありがとう
php - phpgitpost-recieveフックを実行する安全な方法を探しています
git pullを実行するフックがありますが、追加されたファイルを書き込む必要がある場合は失敗します。それがapacheとして動作するユーザーであり、書き込み権限が付与されている場合(書き込みアクセス権を持つグループにapacheを追加することにより)、gitpullfineを実行できます。
私はいくつかの解決策を考え出しました...
- 書き込み権限を持つグループでapacheを維持する(安全でないと感じる)
- ファイルの所有権をapacheに変更する(安全ではなく、ハッキー)
- sudoを使用する(ただし、パスワードを保存するか、パスワードを持たない必要があります)
- git pullの実行の前後にapacheの書き込みを追加するchmodを実行する(ハッキー)
ただし、これらはすべて、安全でない/ハッキーなソリューションのようです。
これらの問題を回避するために使用した提案や方法を共有してください。特にこのハードルを自分でジャンプしなければならなかった場合は、解決策を聞いてみたいと思います。
git - 一貫性のない受信後フックの失敗
サーバー上の裸のレポにプッシュするワークフローをセットアップし、受信後フックがファイルをサイトの提供元のフォルダーにコピーします。
ただし、この方法でセットアップしたサイトの 50% のみが実際に機能し、残りの 50% では post-receive フックがサイト ディレクトリにファイルをコピーしていないようです。
サーバー上のすべてを削除して再起動すると問題が解決することがよくありますが、これらをより確実に機能させるためのトリックがあるかどうか、または問題をトラブルシューティングする簡単な方法があるかどうか疑問に思っていました-現在私は:
- post-receive フックのパスが正しいことを確認してください
- post-receive フックが実行可能であることを確認します
これらを更新/確認したら、他に何かしなければならないことはありますか?
git - 別のコンピューターのGitポスト受信フック
ローカルでの作業やテストなどが完了したら、次のように変更をライブでプッシュできるようにWebサイトを設定しました。
git push khwp
これはうまくいきます。また、ローカルファイルはDropboxフォルダーにあるので、ラップトップでも作業できます。ただし、後者の場合、前述のコマンドは機能しません。ファイルを追加してコミットすることはできますが、何らかの理由でpushコマンドが機能しません。
どうすればこれを修正できますか?
私はおそらくgitを初めて使用することを追加する必要がありますが、あなたはそれを理解したと思います...
編集:これは私が得ているエラーです:
企業のファイアウォールも「プッシュURL」もありません。キーは問題なく構成され(パスワードなしでサーバーにSSH接続できます)、ユーザー名と電子メールも設定されます。
git - gitフックをテストする方法
「テスト」はGitフックの一般的な使用法であるため、私の質問を検索するのは困難です。
私はかなり複雑なgitpost-receiveフックを書いていますが、それをテストするための最良の方法を知りたいです。現在、私のプロセスは次のとおりです。
- ダミーの「リモート」リポジトリで受信後の変更を行う
- ダミーのローカルリポジトリに変更を加える
- ダミーのローカルリポジトリで変更をコミットする
- 変更をダミーのリモートリポジトリにプッシュ
これをテストする簡単な方法はありますか?理想的には次のようになります。
- ダミーリポジトリでポストレシーブに変更を加える
- 「magic」コマンドを発行して、受信後をテストします
おそらく、前のプッシュを「再発行」するか、リモートリポジトリに特定のハッシュでプッシュを受信したかのように動作させることができますか?
git - Git:受信後の理解
私は最近SVNから移動した後、Gitの世界にかなり慣れていないので、post-receive
フックを理解しようとしています。
うまくいけば、これはサーバー側のフックであると言っているのは正しいですが、post-receive
フックを使用してコマンドをクライアント側で実行するにはどうすればよいですか、またはこれを実現するための別のフックはありますか?
例えば。
post-receive
フックはサーバー上で実行されます。クライアント/コミッターにコマンドを送信し、そのコマンドはコンピューター上で実行されます(例:echo Commitreceived)。
そして、これをすべて完全に間違えた場合は申し訳ありません-私はGitを初めて使用します。
git - GIT リポジトリの作成中に受信後の電子メールであふれないようにする
GIT リポジトリ作成の初めてのメールの洪水を止めようとしています。たとえば、SVN から GIT に移行していて、SVN で既に作成されたコミットに関する大量のメールを受信したくないとします。
また、既存のコミットの電子メールのフラッディングを停止できるユース ケースも知りたいです。
post-receive フックからこれを行う予定で、gitolite を使用しています。