生成されているコミットのshaを発見する方法があることを願っています。commit-msgフック内にいます。コミットメッセージの最後にshaを追加して、gitguiがGitHubへのリンクを作成できるようにします。
2 に答える
8
SHA1ハッシュの生成はコミットメッセージに依存するため、コミットメッセージにハッシュを追加すると、ハッシュが異なります。鶏が先か卵が先か問題があります。
于 2012-04-20T08:02:31.623 に答える
3
SHA1はまだ生成されておらず(フックがそれを防ぐことができるため、コミットはまだ発生していません)、メッセージの内容によって異なります。したがって、フックが「それが何であるか」を計算してからメッセージを変更した場合、結果は計算されたSHA1とは異なります。
したがって、「SHA1がどうなるか」を計算することは可能ですが、それをコミットメッセージにダンプすることはできません。
ただし、コミットのSHA1またはそれを参照する名前を指定して実際のコミットのSHA1を計算する方法は次のとおりです。
$ git cat-file -p HEAD > /tmp/t
$ git hash-object -t commit /tmp/t
ea5670c9d18fb1482ea2f3022c96e287afb3e906
$ git rev-parse HEAD
ea5670c9d18fb1482ea2f3022c96e287afb3e906
したがって、、tree
すべてのparent
s 、、、author
およびcommitter
文字列を知っていて、メッセージテキストがあれば、SHA1がどうなるかを理解できます。
于 2012-04-20T08:05:09.757 に答える