5

これについての私の理解を修正するためにオープンしましたが、なぜこれが起こるのかわかりません。

git を使用している場合、ファイルに変更を加えてからコミットすると、ファイルが変更されたために新しいハッシュが取得されることを理解しています。

私の理解でgit commit --amendは、最後のコミットに変更を加えることができます。

これで、コミット メッセージを変更するとハッシュが変更されることがわかりました。

しかし、何も変更せずに保存してエディターを終了すると (変更が必要だと気が変わった可能性があります)、ハッシュが変更されるのはなぜですか? すべてのファイルとすべてが同じですが、保存しました。コミットのgit log時刻が変更されていない場合、コミット ハッシュが異なることを除いて、同じ時刻、同じメッセージ、同じファイルでログに 2 回表示されます。

変更が行われていないのに、なぜ変更されるのですか??

4

1 に答える 1

6

Git ハッシュは、作成者名/日付、コミット名/日付のコミット メッセージ、ツリー、親 SHA など、さまざまな項目を使用して計算されます。コミットを修正すると、コミット名と日付が更新されます。(通常、追加の書式設定オプションを に渡さない限り、コミット名と日付は表示されませんgit log。) 更新されているため、コミットが修正されるとコミット ハッシュが変更されます。

于 2015-09-08T22:49:27.630 に答える