これによると:
これは、よく知られているほとんどの SCM システムとは大きく異なることに注意してください。Subversion、CVS、Perforce、Mercurial などはすべてデルタ ストレージ システムを使用しており、あるコミットと次のコミットの間の差分を保存します。Git はこれを行いません。コミットするたびに、プロジェクト内のすべてのファイルがこのツリー構造でどのように見えるかのスナップショットを保存します。これは、Git を使用する際に理解しておくべき非常に重要な概念です。
それでも走るgit show $SHA1ofCommitObject
と…
commit 4405aa474fff8247607d0bf599e054173da84113
Author: Joe Smoe <joe.smoe@example.com>
Date: Tue May 1 08:48:21 2012 -0500
First commit
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..de8b69b
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+<h1>Hello World!</h1>
diff --git a/interests/chess.html b/interests/chess.html
new file mode 100644
index 0000000..e5be7dd
--- /dev/null
+++ b/interests/chess.html
@@ -0,0 +1 @@
+Did you see on Slashdot that King's Gambit accepted is solved! <a href="http://game
...以前のコミットとのコミットの差分を出力します。git が差分を blob オブジェクトに保存しないことは知っていますが、コミット オブジェクトに差分を保存しますか? またはgit show
、差分を動的に計算していますか?