私はgitフックを見ていますが、これを理解することができませんでした:ユーザがgitリポジトリにファイルをコミットすると、リポジトリ内の別のファイルを自動的に更新し、コミットメッセージの内容に基づいていくつかのコマンドを実行することもできます。これを行う方法はありますか? pre-commit
gitフックは、コミットメッセージが生成される前に実行されているようです。コミットする前に、gitが何かをするようにプログラムするには?
0
A
答えて
0
あなたはです。これを行うには、prepare-commit-msg
フックを使用してください...しかし、しないでください。これは難しく、エラーを起こしやすいですし、Gitをよく知っている人には驚くかもしれませんが、あなたの特定のプロジェクトには慣れていません。 (それは誰かがあなた自身かもしれません、数年後:私はこれが私に起こったのでこれを知っています:-) Gitではなく、基本的に同じ問題:短期間のハックを思いついて、私が自分の短期間のハックに遭遇したときだけショックを受けました)
代わりに、git commit
の実行を含め、やりたいことをすべて実行する小さなスクリプトを書いて、将来を離れる小さなスクリプトをどのように動かすかについてのメンテナー(おそらくあなた自身)の指示。プロジェクトのGitリポジトリにそのスクリプトを含めれば、誰もがそれを持つことができます。
関連する問題
- 1. Git - 前回のコミットにロールバックする
- 2. GITにコミットする前のコード書式
- 3. Git:1つ前にコミットする
- 4. リポジトリから前のコミットをgitで削除するには?
- 5. コミットする前にGITハッシュを知っていますか?
- 6. バイパスリポジトリにコミットしようとする際にはgit
- 7. Gitはマージの前にコミットします
- 8. Gitで以前のコミットにロールバックするには?
- 9. コミット順によるGitチェックアウト
- 10. git branch roll前のコミットに戻る
- 11. Gitコミットする前に特定のファイルを隠す
- 12. git pullでリモートファイルをコミットするには?
- 13. gitコミットを削除するには
- 14. gitはどのようにサブモジュールでチェックアウトするコミットを選択しますか?
- 15. Gitが特定のコミットにログオンする
- 16. gitでは、マスターブランチをコミットする前の状態に戻すにはどうしたらいいですか?
- 17. 何かの前に何かが起こるようにする方法JAVA
- 18. sidekiqトランザクションが完了する前にdbにコミットするには?
- 19. コミットする前にローカルファイルを削除してからコミットする
- 20. 1回のコミットでSVNとGITにコミットするには?
- 21. ローカル変更をgitでコミットしないようにするための実際のワークフローは何ですか?
- 22. マージの前にGitコミットのメッセージを修正する
- 23. git svnマスターにブランチするにはまだブランチにコミットしよう
- 24. IntelliJのようなIDE内からgitコミットを署名するには?
- 25. ファイル(.json)がgitフックでコミットされないようにするにはどうしたらいいですか?
- 26. gitでSquashingのコミットは何ですか?
- 27. Git - 前のコミットメッセージを変更しようとすると、間違ったコミットにつながる
- 28. Gitでは、最も古いコミットの前にコミットを作成するにはどうすればよいですか?
- 29. gitに変更のコミットが要求されないようにする
- 30. SourceTree - 前にコミットされたANSIエンコードファイルを比較するようにgitを設定します。
'git commit'を実行するスクリプトを作成します。これは興味深い考えです。私はSourceTreeのようなGitのGUIアプリケーションでこれを使うことができるので、これがオプションかどうかわかりません。 'prepare-commit-msg'スクリプトを作成するのが悪い考えです。なぜなら、それが将来どのように働くのか忘れてしまうと、それは問題になるかもしれないということでしょうか? – Jason
prepare-commit-msgスクリプトが実行されるまでに、Gitの少なくともいくつかのバージョンでは、どのファイルがコミットされているかがすでに決まっているため、ファイルのセットを変更するには、インデックスを変更し、* new * commit (あなたのスクリプトで再帰を無効にして)、外部コミットが失敗するようにします。私はこの作業を一度行いましたが、それが期待していても使用するのは紛らわしく、 'git commit --amend'でうまく動作しませんでした。それ以来、初期のフックが実行された後にGitがインデックスを再チェックするように修正されたため、混乱は少なくなりましたが、やはり手間がかかりました。一般的には、 'git add -p'を実行すると悪い結果を出します。 – torek