タグ付けされた質問 「githooks」

Gitフックは、特定のgitイベントで実行されるスクリプトです。イベントには、クライアント側でのコミット前とコミット後、リベース前とリベース後、サーバー側での受信後コミットが含まれますが、これらに限定されません。タグGithooksを使用する場合、タグHooksを使用する必要はありません。たぶんタグWebhookと組み合わせて使用​​されます

3
Gitコミットフックをスキップ
Pythonコードでprintステートメントを探すgitフックを探しています。印刷ステートメントが見つかった場合は、gitコミットが行われません。 このフックをオーバーライドしたいのですが、それを行うコマンドがあると言われました。私はそれを見つけることができませんでした。何かご意見は?
505 git  githooks  git-commit 


11
Gitフックスクリプトをリポジトリと共に管理できますか?
コミットメッセージの事前フォーマットなど、すべてを共有できるいくつかの基本的なフックスクリプトを作成します。Gitには、通常の下に保存されるフックスクリプトがあります<project>/.git/hooks/。ただし、これらのスクリプトは、ユーザーがクローンを作成しても伝播されず、バージョン管理されていません。 皆が正しいフックスクリプトを手に入れるのを助ける良い方法はありますか?これらのフックスクリプトにリポジトリ内のバージョン管理されたスクリプトをポイントさせるだけでよいですか?
337 git  githooks 

4
現在および将来のすべてのリポジトリにgit post-commitフックを適用する
Gitのポストコミットフックを作成しましたが、正しく動作します。ただし、このフックを追加して、現在作業中の(および将来の)すべてのgitリポジトリに適用したいと考えています。~/.git/hooks/プロジェクトディレクトリのフックディレクトリではなく、自分にフックを追加しようとしましたが、これは機能していないようです。 システムのすべてのリポジトリに適用されるグローバルGitフックを作成する方法はありますか(それらを各プロジェクトディレクトリにコピーする必要はありません)?そうでない場合、今後の最良の解決策は何ですか-おそらくgit-initテンプレートですか?
275 git  hook  githooks 

16
コミットする前にgitが末尾の空白を自動的に削除するようにします
私はチームでgitを使用していて、差分、ログ、マージなどから空白の変更を削除したいと思います。これを行う最も簡単な方法は、gitが末尾の空白(およびその他の空白エラー)を自動的に削除することだと思います)適用されるすべてのコミットから。 以下を~/.gitconfigファイルごとに追加しようとしましたが、コミットしても何も起こりません。多分それは何か別のもののために設計されています。解決策は何ですか? [core] whitespace = trailing-space,space-before-tab [apply] whitespace = fix 私は、誰かがルビー特有のアイデアを持っている場合に備えて、ルビーを使用しています。コミット前の自動コードフォーマットは次のステップですが、それは難しい問題であり、実際には大きな問題を引き起こしていません。
220 git  whitespace  githooks 

9
gitフックをリポジトリに置く
.git / hooksをプロジェクトリポジトリに配置する(たとえば、シンボリックリンクを使用する)ことは悪い習慣と見なされていますか?はいの場合、同じフックを異なるgitユーザーに配信する最良の方法は何ですか?
197 git  hook  githooks 

10
package.jsonのバージョンを自動的に更新する
小さなリリースをしてタグを付ける前に、package.jsonを更新して、プログラムの新しいバージョンを反映させたいと思います。 ファイルをpackage.json自動的に編集する方法はありますか? git pre-release hookヘルプを使用しますか?
183 git  node.js  npm  githooks 

12
Gitプッシュエラーの事前受信フックが拒否されました
仮想マシンでgitlabhq railsサーバーを実行し、このチュートリアルのhttps://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.mdの 1〜6ステップに従ってコマンドを実行し、railsサーバーを起動しますsudo -u git -H bundle exec rails s -e production。その後、管理ツールを使用してユーザーを作成し、このユーザーの下に新しいプロジェクトを作成しました。次に、いつものように既存のプロジェクトをこのリポジトリにプッシュしようとしています。しかし、最後のステップgit push origin masterで、エラーで失敗します [リモート拒否]マスター->マスター(事前受信フックは拒否されました) 追加情報: 1)メールアクティベーションリンクでユーザー(プロジェクトオーナー)をアクティベートしていません。サーバー側でポストサービスを設定しておらず、その方法もこのマニュアルに記載されていなかったためです。 2)Gitlabサーバーはプロジェクトをリポジトリにプッシュする方法のヒントを生成しますがrepositories/、パスがありません。私はそれが正しいgit@mygitlabhost:user/repo.gitのgit@mygitlabhost:repositories/user/repo.gitではなく生成することを意味します。 私はそれをデバッグしようとしたとき3)、私が開いてpre-receive、サーバー上のレポ内のスクリプトを、出力変数に試してみました(それらの3があります): refs = ARGF.read、key_id = ENV['GL_ID']とrepo_path = Dir.pwdとのkey_idは常に空であることを発見しました。多分問題はここにあります...もしそうなら、それを修正する方法についての提案をお願いします。ありがとう
167 gitlab  githooks 

1
gitリポジトリで依存関係をリンクするにはどうすればよいですか?
私のスクリプトでは、自分のリポジトリを持つライブラリ(私のものまたは他のもの)をよく使用します。私はそれらを私のリポジトリに複製したくありません、そして新しいバージョンが出るたびにそれらを更新することに行き詰まってしまいたくありません。ただし、誰かがレポを複製しても、ローカルで機能し、リンクが壊れていないはずです。 私が何ができるかについてのアイデアはありますか?




5
post-updateフックを使用して別のリポジトリで「git pull」を実行すると、「致命的:gitリポジトリではありません:「。」」が取得されます
私はgitを初めて使用するので、ここで用語を誤用した場合は謝罪し(訂正してください)、最善を尽くします。 裸のgitリポジトリ(ハブ)と開発サイトの作業用コピー(プライム)をWebサーバーにセットアップしようとしています。私はこの記事の後でそれをパターン化しようとしました。ハブリポジトリがプッシュされるたびに開発作業コピーを更新してほしい。私はこのための適切なフックがであるという印象を受けていますpost-update。 #!/bin/sh whoami cd /path/to/working-copy/ RET=`git pull` echo $RET 更新 ローカルリポジトリからベアハブに変更をプッシュすると、更新後のスクリプトから次の出力が得られます。 remote: sites remote: fatal: Not a git repository: '.' ただし、ユーザー「sites」としてサーバーにSSH接続し、このスクリプトを手動で実行すると、うまく機能します。このフックまたはスクリプトで何が問題になっているのかに関するアイデアはありますか?
89 git  githooks 

6
gitのフックへのシンボリックリンク
独自のカスタムマージ後フックを作成しました。メインプロジェクトフォルダーに「hooks」ディレクトリを追加しました(gitは.git / hooksの変更を追跡しないため)。どこかで、フックからシンボリックリンクを作成できると読みました。 .git / hooksに変更するので、誰かがファイルを変更するたびに1つのフォルダーから別のフォルダーにファイルをコピーする必要がないので、次のことを試しました。 ln -s -f hooks/post-merge .git/hooks/post-merge しかし、それはうまくいかないようです、なぜ何か考えがありますか?「lnhooks / post-merge .git / hooks / post-merge」は正常に機能しますが、ハードリンクの作成はcopyinと同じだと思います。
86 linux  git  githooks 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.