Skip to content

Commit 23091e9

Browse files
bfieldsJunio C Hamano
authored andcommitted
Documentation: revise top of git man page
I'm afraid I'll be accused of trying to suck all the jokes and the personality out of the git documentation. I'm not! Really! That said, "man git" is one of the first things a new user is likely try, and it seems a little cruel to start off with a somewhat obscure joke about the architecture of git. So instead I'm trying for a relatively straightforward description of what git does, and what features distinguish it from other systems, together with immediate links to introductory documentation. I also did some minor reorganization in an attempt to clarify the classification of commands. And revised a bit for conciseness (as is obvious from the diffstat--hopefully I didn't cut anything important). Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent ec26b4d commit 23091e9

File tree

1 file changed

+41
-48
lines changed

1 file changed

+41
-48
lines changed

Documentation/git.txt

Lines changed: 41 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@ SYNOPSIS
1212

1313
DESCRIPTION
1414
-----------
15-
'git' is both a program and a directory content tracker system.
16-
The program 'git' is just a wrapper to reach the core git programs
17-
(or a potty if you like, as it's not exactly porcelain but still
18-
brings your stuff to the plumbing).
15+
Git is a fast, scalable, distributed revision control system with an
16+
unusually rich command set that provides both high-level operations
17+
and full access to internals.
18+
19+
See this link:tutorial.html[tutorial] to get started, then see
20+
link:everyday.html[Everyday Git] for a useful minimum set of commands, and
21+
"man git-commandname" for documentation of each command. CVS users may
22+
also want to read link:cvs-migration.html[CVS migration].
1923

2024
OPTIONS
2125
-------
@@ -35,55 +39,38 @@ OPTIONS
3539
the current setting and then exit.
3640

3741

38-
NOT LEARNING CORE GIT COMMANDS
39-
------------------------------
40-
41-
This manual is intended to give complete background information
42-
and internal workings of git, which may be too much for most
43-
people. The <<Discussion>> section below contains much useful
44-
definition and clarification - read that first.
45-
46-
If you are interested in using git to manage (version control)
47-
projects, use link:tutorial.html[The Tutorial] to get you started,
48-
and then link:everyday.html[Everyday GIT] as a guide to the
49-
minimum set of commands you need to know for day-to-day work.
50-
Most likely, that will get you started, and you can go a long
51-
way without knowing the low level details too much.
52-
53-
The link:core-tutorial.html[Core tutorial] document covers how things
54-
internally work.
55-
56-
If you are migrating from CVS, link:cvs-migration.html[cvs
57-
migration] document may be helpful after you finish the
58-
tutorial.
42+
FURTHER DOCUMENTATION
43+
---------------------
5944

60-
After you get the general feel from the tutorial and this
61-
overview page, you may want to take a look at the
62-
link:howto-index.html[howto] documents.
45+
See the references above to get started using git. The following is
46+
probably more detail than necessary for a first-time user.
6347

48+
The <<Discussion,Discussion>> section below and the
49+
link:core-tutorial.html[Core tutorial] both provide introductions to the
50+
underlying git architecture.
6451

65-
CORE GIT COMMANDS
66-
-----------------
52+
See also the link:howto-index.html[howto] documents for some useful
53+
examples.
6754

68-
If you are writing your own Porcelain, you need to be familiar
69-
with most of the low level commands --- I suggest starting from
70-
gitlink:git-update-index[1] and gitlink:git-read-tree[1].
55+
GIT COMMANDS
56+
------------
7157

58+
We divide git into high level ("porcelain") commands and low level
59+
("plumbing") commands.
7260

73-
Commands Overview
74-
-----------------
75-
The git commands can helpfully be split into those that manipulate
76-
the repository, the index and the files in the working tree, those that
77-
interrogate and compare them, and those that moves objects and
78-
references between repositories.
61+
Low-level commands (plumbing)
62+
-----------------------------
7963

80-
In addition, git itself comes with a spartan set of porcelain
81-
commands. They are usable but are not meant to compete with real
82-
Porcelains.
64+
Although git includes its
65+
own porcelain layer, its low-level commands are sufficient to support
66+
development of alternative porcelains. Developers of such porcelains
67+
might start by reading about gitlink:git-update-index[1] and
68+
gitlink:git-read-tree[1].
8369

84-
There are also some ancillary programs that can be viewed as useful
85-
aids for using the core commands but which are unlikely to be used by
86-
SCMs layered over git.
70+
We divide the low-level commands into commands that manipulate objects (in
71+
the repository, index, and working tree), commands that interrogate and
72+
compare objects, and commands that move objects and references between
73+
repositories.
8774

8875
Manipulation commands
8976
~~~~~~~~~~~~~~~~~~~~~
@@ -248,8 +235,14 @@ gitlink:git-upload-pack[1]::
248235
what are asked for.
249236

250237

251-
Porcelain-ish Commands
252-
----------------------
238+
High-level commands (porcelain)
239+
-------------------------------
240+
241+
We separate the porcelain commands into the main commands and some
242+
ancillary user utilities.
243+
244+
Main porcelain commands
245+
~~~~~~~~~~~~~~~~~~~~~~~
253246

254247
gitlink:git-add[1]::
255248
Add paths to the index.
@@ -346,7 +339,7 @@ gitlink:git-whatchanged[1]::
346339

347340

348341
Ancillary Commands
349-
------------------
342+
~~~~~~~~~~~~~~~~~~
350343
Manipulators:
351344

352345
gitlink:git-applypatch[1]::

0 commit comments

Comments
 (0)