作成中のコミットを検出する方法があります。 Imはcommit-msgフックの中にあります。コミットメッセージの最後にshaを追加して、git guiが私のためにGitHubへのリンクを構築できるようにしたいと思います。commit-msgフックで生成されたgit commitのshaを取得するにはどうすればよいですか?
1
A
答えて
7
SHA1ハッシュ生成はコミットメッセージに依存するため、ハッシュをコミットメッセージに追加するとハッシュが異なる原因になります。あなたは鶏や卵の問題があります。
2
SHA1はまだ生成されていません(フックによって防止されるため、コミットはまだ発生していません)。メッセージの内容によって異なります。だからあなたのフックが "それが何であるか"を計算してからメッセージを修正するのであれば、結果は計算されたSHA1とは異なるでしょう。
したがって、「SHA1がどのようになるか」を計算することは可能ですが、コミットメッセージにダンプすることはできません。あなたがtree
を知っていれば、すべて、
$ git cat-file -p HEAD > /tmp/t
$ git hash-object -t commit /tmp/t
ea5670c9d18fb1482ea2f3022c96e287afb3e906
$ git rev-parse HEAD
ea5670c9d18fb1482ea2f3022c96e287afb3e906
したがって:
は、ここでそれを参照するコミット:-)や名前のSHA1与えられた、しかし、実際のコミットのSHA1を計算する方法を説明しますparent
s、author
、committer
という文字列があり、メッセージテキストがある場合は、SHA1がどのようになるかを知ることができます。
関連する問題
- 1. 自動生成された値を取得するにはどうすればよいですか?
- 2. Windows上でカスタムgitコマンド(gitフックなど)をインストールするにはどうすればよいですか?
- 3. git checkoutコマンドが発行された時刻を取得するにはどうすればよいですか?
- 4. Javaサーブレットでasp.netで作成されたCookieを取得するにはどうすればよいですか?
- 5. Javascriptで生成されたDOMをプログラムで読み取るにはどうすればよいですか?
- 6. ファイルを修正した最新のgit commitを見つけるにはどうすればよいですか?
- 7. Androidスタジオで古いgit commitをチェックアウトするにはどうすればよいですか?
- 8. 自己証明書SHA-256を生成するにはどうすればよいですか?
- 9. IIS 7モジュールのOnAuthenticateRequestフックでサーバーアドレスを取得するにはどうすればよいですか?
- 10. JPAが生成したSQLクエリを取得するにはどうすればよいですか?
- 11. 動的に挿入された要素から生成されたHTMLを取得するにはどうすればよいですか?
- 12. 生成された地形図のカラーマップを作成するにはどうすればよいですか?
- 13. 出力にランダムに生成する文字を取得するにはどうすればよいですか?
- 14. autotoolsで生成されたmakefileから-Werrorを削除するにはどうすればよいですか?
- 15. POIで生成されたExcelで警告を削除するにはどうすればよいですか?
- 16. svcutil.exeで生成されたサービスプロキシでCollectionTypeを変更するにはどうすればよいですか?
- 17. MACでパスワードで保護されたcsvファイルを生成するにはどうすればよいですか?
- 18. プログラムで生成されたギャラリーをタブレイアウトに追加するにはどうすればよいですか?
- 19. Bootstrapで生成されたエラーをErrorControllerに転送するにはどうすればよいですか?
- 20. アダプタで生成されたボタンにクリックリスナーを設定するにはどうすればよいですか?
- 21. Spring-Rooのマッピングで生成されたテーブルに挿入するにはどうすればよいですか?
- 22. iOSアプリケーションにgit commit SHAを追加
- 23. JAXBで生成されたソースを、Eclipseビルドパスにm2e/Indigoでどのように取得するのですか?
- 24. プログラムで追加されたボタンからOnClick()を取得するにはどうすればよいですか?
- 25. T4から生成されたファイルのビルドアクションを設定するにはどうすればよいですか?
- 26. コンタープロットでプロットされた線の(x、y)値を取得するにはどうすればよいですか?
- 27. 最小化されたアプリケーションのスクリーンショットをプログラムで取得するにはどうすればよいですか?
- 28. ネストされたハッシュで複数のハッシュキーを取得するにはどうすればよいですか?
- 29. キュウリのステップで返された応答を取得するにはどうすればよいですか?
- 30. Guice:TypeLiteralでラップされたジェネリックのインスタンスを取得するにはどうすればよいですか?
「あなたのgit gui」はどういう意味ですか? –
"あなたのgit gui"にコミットの参照がある場合、ハッシュ*はコミットへの参照であるため、すでにコミットのハッシュを持っています。コミットメッセージ。水を得るために川を渡りたいと思うようなものです。 –
私はSourceTreeを使用することがあります – wprater