24

コミットする前にコミットのハッシュを知る方法はありますか?

4

3 に答える 3

19

これが必要な理由として、どのようなことが考えられますか? コミットのハッシュを独自のコミット メッセージに入れることを考えていた場合、申し訳ありませんが、それは不可能です (少なくとも、SHA1 を壊さない限り不可能です)。コミット メッセージは、ハッシュを生成するときに使用される部分の 1 つであるため、メッセージを変更しようとすると、ハッシュが変更されます。

いずれにせよ、コミットする前にコミットのハッシュを見つけることは、実際にコミットし、ハッシュを書き留めてからコミットを破棄することとほとんど区別がつきません (Carl Norum が彼のコメントで示唆したように)。その理由は、コミット オブジェクトを作成し、SHA1 を介して渡すことによってハッシュが生成されるためです。したがって、コミットせずにハッシュを見つけるには、実際にオブジェクトをディスクに書き込むことなく、基本的に手動でコミット プロセスを実行し、結果を SHA1 する必要があります。そして、それはかなり非現実的であるだけでなく、まったく無意味でもあります.

于 2013-01-08T04:43:44.283 に答える
15

コミット ハッシュはコミット時間に依存します。

同じ変更、同じ親、同じ作成者、同じ秒内にコミット メッセージで 2 つのコミットを行うと、同じハッシュが得られます。それ以外の場合、ハッシュは異なるはずです。

于 2013-01-08T05:46:20.403 に答える