]>
Commit | Line | Data |
---|---|---|
da139813 | 1 | object:: |
72e9340c | 2 | The unit of storage in git. It is uniquely identified by |
da139813 JS |
3 | the SHA1 of its contents. Consequently, an object can not |
4 | be changed. | |
5 | ||
f1671ecb JS |
6 | object name:: |
7 | The unique identifier of an object. The hash of the object's contents | |
8 | using the Secure Hash Algorithm 1 and usually represented by the 40 | |
9 | character hexadecimal encoding of the hash of the object (possibly | |
10 | followed by a white space). | |
11 | ||
da139813 | 12 | SHA1:: |
f1671ecb JS |
13 | Synonym for object name. |
14 | ||
15 | object identifier:: | |
16 | Synonym for object name. | |
17 | ||
18 | hash:: | |
19 | In git's context, synonym to object name. | |
da139813 JS |
20 | |
21 | object database:: | |
89438677 | 22 | Stores a set of "objects", and an individual object is identified |
12bd7e78 | 23 | by its object name. The objects usually live in `$GIT_DIR/objects/`. |
da139813 JS |
24 | |
25 | blob object:: | |
f1671ecb | 26 | Untyped object, e.g. the contents of a file. |
da139813 JS |
27 | |
28 | tree object:: | |
2f5703c3 | 29 | An object containing a list of file names and modes along with refs |
d8ddb0a4 JS |
30 | to the associated blob and/or tree objects. A tree is equivalent |
31 | to a directory. | |
da139813 JS |
32 | |
33 | tree:: | |
34 | Either a working tree, or a tree object together with the | |
35 | dependent blob and tree objects (i.e. a stored representation | |
36 | of a working tree). | |
37 | ||
d8ddb0a4 JS |
38 | DAG:: |
39 | Directed acyclic graph. The commit objects form a directed acyclic | |
40 | graph, because they have parents (directed), and the graph of commit | |
41 | objects is acyclic (there is no chain which begins and ends with the | |
42 | same object). | |
43 | ||
f1671ecb JS |
44 | index:: |
45 | A collection of files with stat information, whose contents are | |
5f3aa197 | 46 | stored as objects. The index is a stored version of your working |
f1671ecb JS |
47 | tree. Truth be told, it can also contain a second, and even a third |
48 | version of a working tree, which are used when merging. | |
da139813 | 49 | |
f1671ecb | 50 | index entry:: |
da139813 | 51 | The information regarding a particular file, stored in the index. |
f1671ecb | 52 | An index entry can be unmerged, if a merge was started, but not |
5f3aa197 | 53 | yet finished (i.e. if the index contains multiple versions of |
da139813 JS |
54 | that file). |
55 | ||
f1671ecb JS |
56 | unmerged index: |
57 | An index which contains unmerged index entries. | |
58 | ||
59 | cache:: | |
60 | Obsolete for: index. | |
da139813 JS |
61 | |
62 | working tree:: | |
f1671ecb JS |
63 | The set of files and directories currently being worked on, |
64 | i.e. you can work in your working tree without using git at all. | |
da139813 JS |
65 | |
66 | directory:: | |
67 | The list you get with "ls" :-) | |
68 | ||
da139813 JS |
69 | revision:: |
70 | A particular state of files and directories which was stored in | |
71 | the object database. It is referenced by a commit object. | |
72 | ||
f1671ecb JS |
73 | checkout:: |
74 | The action of updating the working tree to a revision which was | |
75 | stored in the object database. | |
76 | ||
da139813 | 77 | commit:: |
5f3aa197 | 78 | As a verb: The action of storing the current state of the index in the |
da139813 | 79 | object database. The result is a revision. |
f1671ecb | 80 | As a noun: Short hand for commit object. |
da139813 JS |
81 | |
82 | commit object:: | |
83 | An object which contains the information about a particular | |
84 | revision, such as parents, committer, author, date and the | |
85 | tree object which corresponds to the top directory of the | |
86 | stored revision. | |
87 | ||
f1671ecb JS |
88 | parent:: |
89 | A commit object contains a (possibly empty) list of the logical | |
90 | predecessor(s) in the line of development, i.e. its parents. | |
91 | ||
da139813 JS |
92 | changeset:: |
93 | BitKeeper/cvsps speak for "commit". Since git does not store | |
94 | changes, but states, it really does not make sense to use | |
95 | the term "changesets" with git. | |
96 | ||
da139813 JS |
97 | clean:: |
98 | A working tree is clean, if it corresponds to the revision | |
99 | referenced by the current head. | |
100 | ||
101 | dirty:: | |
102 | A working tree is said to be dirty if it contains modifications | |
103 | which have not been committed to the current branch. | |
104 | ||
105 | head:: | |
106 | The top of a branch. It contains a ref to the corresponding | |
107 | commit object. | |
108 | ||
109 | branch:: | |
110 | A non-cyclical graph of revisions, i.e. the complete history of | |
f1671ecb | 111 | a particular revision, which is called the branch head. The |
12bd7e78 | 112 | branch heads are stored in `$GIT_DIR/refs/heads/`. |
da139813 | 113 | |
d5a6aafc JS |
114 | master:: |
115 | The default branch. Whenever you create a git repository, a branch | |
116 | named "master" is created, and becomes the active branch. In most | |
117 | cases, this contains the local development. | |
118 | ||
119 | origin:: | |
120 | The default upstream branch. Most projects have one upstream | |
121 | project which they track, and by default 'origin' is used for | |
122 | that purpose. New updates from upstream will be fetched into | |
123 | this branch; you should never commit to it yourself. | |
124 | ||
da139813 JS |
125 | ref:: |
126 | A 40-byte hex representation of a SHA1 pointing to a particular | |
12bd7e78 | 127 | object. These may be stored in `$GIT_DIR/refs/`. |
da139813 JS |
128 | |
129 | head ref:: | |
130 | A ref pointing to a head. Often, this is abbreviated to "head". | |
12bd7e78 | 131 | Head refs are stored in `$GIT_DIR/refs/heads/`. |
da139813 JS |
132 | |
133 | tree-ish:: | |
134 | A ref pointing to either a commit object, a tree object, or a | |
f1671ecb JS |
135 | tag object pointing to a tag or commit or tree object. |
136 | ||
137 | ent:: | |
2f5703c3 | 138 | Favorite synonym to "tree-ish" by some total geeks. See |
12bd7e78 | 139 | `http://en.wikipedia.org/wiki/Ent_(Middle-earth)` for an in-depth |
2f5703c3 | 140 | explanation. |
da139813 JS |
141 | |
142 | tag object:: | |
2f5703c3 JS |
143 | An object containing a ref pointing to another object, which can |
144 | contain a message just like a commit object. It can also | |
145 | contain a (PGP) signature, in which case it is called a "signed | |
da139813 JS |
146 | tag object". |
147 | ||
148 | tag:: | |
149 | A ref pointing to a tag or commit object. In contrast to a head, | |
150 | a tag is not changed by a commit. Tags (not tag objects) are | |
12bd7e78 | 151 | stored in `$GIT_DIR/refs/tags/`. A git tag has nothing to do with |
da139813 | 152 | a Lisp tag (which is called object type in git's context). |
f1671ecb JS |
153 | A tag is most typically used to mark a particular point in the |
154 | commit ancestry chain. | |
da139813 JS |
155 | |
156 | merge:: | |
157 | To merge branches means to try to accumulate the changes since a | |
158 | common ancestor and apply them to the first branch. An automatic | |
159 | merge uses heuristics to accomplish that. Evidently, an automatic | |
160 | merge can fail. | |
161 | ||
d8ddb0a4 JS |
162 | octopus:: |
163 | To merge more than two branches. Also denotes an intelligent | |
164 | predator. | |
165 | ||
da139813 JS |
166 | resolve:: |
167 | The action of fixing up manually what a failed automatic merge | |
168 | left behind. | |
169 | ||
2f5703c3 JS |
170 | rewind:: |
171 | To throw away part of the development, i.e. to assign the head to | |
172 | an earlier revision. | |
173 | ||
174 | rebase:: | |
175 | To clean a branch by starting from the head of the main line of | |
176 | development ("master"), and reapply the (possibly cherry-picked) | |
177 | changes from that branch. | |
178 | ||
da139813 JS |
179 | repository:: |
180 | A collection of refs together with an object database containing | |
f1671ecb JS |
181 | all objects, which are reachable from the refs, possibly accompanied |
182 | by meta data from one or more porcelains. A repository can | |
da139813 JS |
183 | share an object database with other repositories. |
184 | ||
f1671ecb JS |
185 | git archive:: |
186 | Synonym for repository (for arch people). | |
187 | ||
188 | file system:: | |
189 | Linus Torvalds originally designed git to be a user space file | |
190 | system, i.e. the infrastructure to hold files and directories. | |
191 | That ensured the efficiency and speed of git. | |
192 | ||
da139813 JS |
193 | alternate object database:: |
194 | Via the alternates mechanism, a repository can inherit part of its | |
195 | object database from another object database, which is called | |
196 | "alternate". | |
197 | ||
198 | reachable:: | |
199 | An object is reachable from a ref/commit/tree/tag, if there is a | |
200 | chain leading from the latter to the former. | |
201 | ||
202 | chain:: | |
203 | A list of objects, where each object in the list contains a | |
204 | reference to its successor (for example, the successor of a commit | |
205 | could be one of its parents). | |
206 | ||
da139813 JS |
207 | fetch:: |
208 | Fetching a branch means to get the branch's head ref from a | |
209 | remote repository, to find out which objects are missing from | |
210 | the local object database, and to get them, too. | |
211 | ||
212 | pull:: | |
213 | Pulling a branch means to fetch it and merge it. | |
214 | ||
215 | push:: | |
216 | Pushing a branch means to get the branch's head ref from a remote | |
217 | repository, find out if it is an ancestor to the branch's local | |
218 | head ref is a direct, and in that case, putting all objects, which | |
219 | are reachable from the local head ref, and which are missing from | |
220 | the remote repository, into the remote object database, and updating | |
221 | the remote head ref. If the remote head is not an ancestor to the | |
222 | local head, the push fails. | |
223 | ||
224 | pack:: | |
225 | A set of objects which have been compressed into one file (to save | |
226 | space or to transmit them efficiently). | |
227 | ||
228 | pack index:: | |
f1671ecb JS |
229 | The list of identifiers, and other information, of the objects in a |
230 | pack, to assist in efficiently accessing the contents of a pack. | |
da139813 | 231 | |
2f5703c3 JS |
232 | core git:: |
233 | Fundamental data structures and utilities of git. Exposes only | |
234 | limited source code management tools. | |
235 | ||
da139813 JS |
236 | plumbing:: |
237 | Cute name for core git. | |
238 | ||
239 | porcelain:: | |
240 | Cute name for programs and program suites depending on core git, | |
241 | presenting a high level access to core git. Porcelains expose | |
242 | more of a SCM interface than the plumbing. | |
243 | ||
244 | object type: | |
245 | One of the identifiers "commit","tree","tag" and "blob" describing | |
246 | the type of an object. | |
247 | ||
248 | SCM:: | |
249 | Source code management (tool). | |
250 | ||
251 | dircache:: | |
252 | You are *waaaaay* behind. | |
f1671ecb | 253 |