22..
33.. SPDX-License-Identifier: BSD-3-Clause
44
5- Git’s database internals
6- ------------------------
5+ Git Internals
6+ =============
7+
8+ So far, we have looked at how you can use Git to manage the different states of
9+ your code. Now we want to show you the :ref: `data <git-data-model >` and
10+ :ref: `storage models <git-storage-model >` that underlie Git.
11+
12+ Data Model
13+ ----------
14+
15+ You will be able to use Git more effectively once you understand the data model.
16+ Git manages four types of data:
17+
18+ Objects
19+ ~~~~~~~
20+
21+ .. include :: ../glossary.rst
22+ :start-after: start-object
23+ :end-before: end-object
24+
25+ Commit
26+ ::::::
27+
28+ .. include :: ../glossary.rst
29+ :start-after: start-commit
30+ :end-before: end-commit
31+
32+ Tree
33+ ::::
34+
35+ .. include :: ../glossary.rst
36+ :start-after: start-tree
37+ :end-before: end-tree
38+
39+ Blob
40+ ::::
41+
42+ .. include :: ../glossary.rst
43+ :start-after: start-blob
44+ :end-before: end-blob
45+
46+ Tag
47+ :::
48+
49+ .. include :: ../glossary.rst
50+ :start-after: start-tag
51+ :end-before: end-tag
52+
53+ References
54+ ~~~~~~~~~~
55+
56+ .. include :: ../glossary.rst
57+ :start-after: start-refs
58+ :end-before: end-refs
59+
60+ Index
61+ ~~~~~
62+
63+ .. include :: ../glossary.rst
64+ :start-after: start-index
65+ :end-before: end-index
66+
67+ Reflog
68+ ~~~~~~
69+
70+ .. include :: ../glossary.rst
71+ :start-after: start-reflog
72+ :end-before: end-reflog
73+
74+ .. _git-storage-model :
75+
76+ Storage model
77+ -------------
778
879.. seealso ::
9- * `Commits are snapshots, not diffs
10- <https://github.blog/open-source/git/commits-are-snapshots-not-diffs/> `_
1180 * Git’s database internals
1281
1382 * `Part I: packed object store
@@ -20,3 +89,10 @@ Git’s database internals
2089 <https://github.blog/open-source/git/gits-database-internals-iv-distributed-synchronization/> `_
2190 * `Part V: scalability
2291 <https://github.blog/open-source/git/gits-database-internals-v-scalability/> `_
92+
93+ Packfiles
94+ ~~~~~~~~~
95+
96+ .. include :: ../glossary.rst
97+ :start-after: start-packfile
98+ :end-before: end-packfile
0 commit comments