1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 7.0.1" />
\r
7 <style type="text/css">
\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
\r
11 border: 1px solid red;
\r
16 margin: 1em 5% 1em 5%;
\r
20 a:visited { color: fuchsia; }
\r
34 h1, h2, h3, h4, h5, h6 {
\r
36 font-family: sans-serif;
\r
38 margin-bottom: 0.5em;
\r
43 border-bottom: 2px solid silver;
\r
46 border-bottom: 2px solid silver;
\r
56 border: 1px solid silver;
\r
61 margin-bottom: 0.5em;
\r
71 font-family: sans-serif;
\r
78 font-family: sans-serif;
\r
82 font-family: sans-serif;
\r
84 border-top: 2px solid silver;
\r
90 padding-bottom: 0.5em;
\r
94 padding-bottom: 0.5em;
\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
100 div.admonitionblock {
\r
103 margin-bottom: 1.5em;
\r
105 div.admonitionblock {
\r
107 margin-bottom: 2.5em;
\r
110 div.content { /* Block element content. */
\r
114 /* Block element titles. */
\r
115 div.title, caption.title {
\r
116 font-family: sans-serif;
\r
120 margin-bottom: 0.5em;
\r
126 td div.title:first-child {
\r
129 div.content div.title:first-child {
\r
132 div.content + div.title {
\r
136 div.sidebarblock > div.content {
\r
137 background: #ffffee;
\r
138 border: 1px solid silver;
\r
142 div.listingblock > div.content {
\r
143 border: 1px solid silver;
\r
144 background: #f4f4f4;
\r
148 div.quoteblock > div.content {
\r
149 padding-left: 2.0em;
\r
151 div.quoteblock .attribution {
\r
155 div.admonitionblock .icon {
\r
156 vertical-align: top;
\r
159 text-decoration: underline;
\r
161 padding-right: 0.5em;
\r
163 div.admonitionblock td.content {
\r
164 padding-left: 0.5em;
\r
165 border-left: 2px solid silver;
\r
168 div.exampleblock > div.content {
\r
169 border-left: 2px solid silver;
\r
173 div.verseblock div.content {
\r
177 div.imageblock div.content { padding-left: 0; }
\r
178 div.imageblock img { border: 1px solid silver; }
\r
179 span.image img { border-style: none; }
\r
183 margin-bottom: 0.8em;
\r
188 font-style: italic;
\r
190 dd > *:first-child {
\r
195 list-style-position: outside;
\r
198 list-style-type: lower-alpha;
\r
201 div.tableblock > table {
\r
202 border-color: #527bbd;
\r
206 font-family: sans-serif;
\r
215 margin-bottom: 0.8em;
\r
218 vertical-align: top;
\r
219 font-style: italic;
\r
220 padding-right: 0.8em;
\r
223 vertical-align: top;
\r
227 div#footer-badges { display: none; }
\r
229 /* Workarounds for IE6's broken and incomplete CSS2. */
\r
231 div.sidebar-content {
\r
232 background: #ffffee;
\r
233 border: 1px solid silver;
\r
236 div.sidebar-title, div.image-title {
\r
237 font-family: sans-serif;
\r
240 margin-bottom: 0.5em;
\r
243 div.listingblock div.content {
\r
244 border: 1px solid silver;
\r
245 background: #f4f4f4;
\r
249 div.quoteblock-content {
\r
250 padding-left: 2.0em;
\r
253 div.exampleblock-content {
\r
254 border-left: 2px solid silver;
\r
255 padding-left: 0.5em;
\r
258 <title>git repository layout</title>
\r
262 <h1>git repository layout</h1>
\r
264 <div id="preamble">
\r
265 <div class="sectionbody">
\r
266 <p>You may find these things in your git repository (<tt>.git</tt>
\r
267 directory for a repository associated with your working tree, or
\r
268 <tt><em>project</em>.git</tt> directory for a public <em>naked</em> repository).</p>
\r
275 Object store associated with this repository. Usually
\r
276 an object store is self sufficient (i.e. all the objects
\r
277 that are referred to by an object found in it are also
\r
278 found in it), but there are couple of ways to violate
\r
284 You could populate the repository by running a commit walker
\r
285 without <tt>-a</tt> option. Depending on which options are given, you
\r
286 could have only commit objects without associated blobs and
\r
287 trees this way, for example. A repository with this kind of
\r
288 incomplete object store is not suitable to be published to the
\r
289 outside world but sometimes useful for private repository.
\r
294 You can be using <tt>objects/info/alternates</tt> mechanism, or
\r
295 <tt>$GIT_ALTERNATE_OBJECT_DIRECTORIES</tt> mechanism to <em>borrow</em>
\r
296 objects from other object stores. A repository with this kind
\r
297 of incompete object store is not suitable to be published for
\r
298 use with dumb transports but otherwise is OK as long as
\r
299 <tt>objects/info/alternates</tt> points at the right object stores
\r
306 objects/[0-9a-f][0-9a-f]
\r
310 Traditionally, each object is stored in its own file.
\r
311 They are split into 256 subdirectories using the first
\r
312 two letters from its object name to keep the number of
\r
313 directory entries <tt>objects</tt> directory itself needs to
\r
314 hold. Objects found here are often called <em>unpacked</em>
\r
323 Packs (files that store many object in compressed form,
\r
324 along with index files to allow them to be randomly
\r
325 accessed) are found in this directory.
\r
333 Additional information about the object store is
\r
334 recorded in this directory.
\r
342 This file is to help dumb transports discover what packs
\r
343 are available in this object store. Whenever a pack is
\r
344 added or removed, <tt>git update-server-info</tt> should be run
\r
345 to keep this file up-to-date if the repository is
\r
346 published for dumb transports. <tt>git repack</tt> does this
\r
351 objects/info/alternates
\r
355 This file records absolute filesystem paths of alternate
\r
356 object stores that this object store borrows objects
\r
357 from, one pathname per line.
\r
365 References are stored in subdirectories of this
\r
366 directory. The <tt>git prune</tt> command knows to keep
\r
367 objects reachable from refs found in this directory and
\r
368 its subdirectories.
\r
372 refs/heads/<tt>name</tt>
\r
376 records tip-of-the-tree commit objects of branch <tt>name</tt>
\r
380 refs/tags/<tt>name</tt>
\r
384 records any object name (not necessarily a commit
\r
385 object, or a tag object that points at a commit object).
\r
393 A symlink of the form <tt>refs/heads/<em>name</em></tt> to point at
\r
394 the current branch, if exists. It does not mean much if
\r
395 the repository is not associated with any working tree
\r
396 (i.e. <em>naked</em> repository), but a valid git repository
\r
397 <strong>must</strong> have such a symlink here. It is legal if the
\r
398 named branch <em>name</em> does not (yet) exist.
\r
406 A slightly deprecated way to store shorthands to be used
\r
407 to specify URL to <tt>git fetch</tt>, <tt>git pull</tt> and <tt>git push</tt>
\r
408 commands is to store a file in <tt>branches/<em>name</em></tt> and
\r
409 give <em>name</em> to these commands in place of <em>repository</em>
\r
418 Hooks are customization scripts used by various git
\r
419 commands. A handful of sample hooks are installed when
\r
420 <tt>git init-db</tt> is run, but all of them are disabled by
\r
421 default. To enable, they need to be made executable.
\r
429 The current index file for the repository. It is
\r
430 usually not found in a naked repository.
\r
438 Additional information about the repository is recorded
\r
447 This file is to help dumb transports to discover what
\r
448 refs are available in this repository. Whenever you
\r
449 create/delete a new branch or a new tag, <tt>git
\r
450 update-server-info</tt> should be run to keep this file
\r
451 up-to-date if the repository is published for dumb
\r
452 transports. The <tt>git-receive-pack</tt> command, which is
\r
453 run on a remote repository when you <tt>git push</tt> into it,
\r
454 runs <tt>hooks/update</tt> hook to help you achive this.
\r
462 This file records fake commit ancestry information, to
\r
463 pretend the set of parents a commit has is different
\r
464 from how the commit was actually created. One record
\r
465 per line describes a commit and its fake parents by
\r
466 listing their 40-byte hexadecimal object names separated
\r
467 by a space and terminated by a newline.
\r
475 This file, by convention among Porcelains, stores the
\r
476 exclude pattern list. <tt>git status</tt> looks at it, but
\r
477 otherwise it is not looked at by any of the core git
\r
486 Stores shorthands to be used to give URL and default
\r
487 refnames to interact with remote repository to <tt>git
\r
488 fetch</tt>, <tt>git pull</tt> and <tt>git push</tt> commands.
\r
495 <div id="footer-text">
\r
496 Last updated 27-Dec-2005 00:17:09 PDT
\r