Go to file
Jonathan Nieder ebef7e5049 Documentation: simplify How Merge Works
The user most likely does not care about the exact order of
operations because he cannot see it happening anyway.  Instead,
try to explain what it means to merge two commits into a single
tree.

While at it:

 - Change the heading to TRUE MERGE.  The entire manual page is
   about how merges work.

 - Document MERGE_HEAD.  It is a useful feature, since it makes
   the parents of the intended merge commit easier to refer to.

 - Do not assume commits named on the 'git merge' command line come
   from another repository.  For simplicity, the discussion of
   conflicts still does assume that there is only one and it is a
   branch head.

 - Do not start list items with `code`.  Otherwise, a toolchain bug
   produces a line break in the generated nroff, resulting in odd
   extra space.

Suggested-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
2010-01-24 13:57:42 +01:00
Documentation Documentation: simplify How Merge Works 2010-01-24 13:57:42 +01:00
block-sha1
compat Explicitly truncate bswap operand to uint32_t 2009-11-25 00:16:38 -08:00
contrib bash completion: add space between branch name and status flags 2009-12-30 23:29:12 -08:00
git-gui Merge git://repo.or.cz/git-gui 2009-12-09 15:38:51 -08:00
git_remote_helpers Add Python support library for remote helpers 2009-11-24 15:50:20 -08:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2009-12-09 15:38:42 -08:00
gitweb gitweb: Describe (possible) gitweb.js minification in gitweb/README 2009-12-03 12:38:45 -08:00
perl
ppc
t Merge branch 'sb/maint-octopus' 2010-01-07 15:40:21 -08:00
templates
xdiff
.gitattributes .gitattributes: detect 8-space indent in shell scripts 2010-01-06 12:22:25 -08:00
.gitignore build dashless "bin-wrappers" directory similar to installed bindir 2009-12-03 11:37:47 -08:00
.mailmap
COPYING
GIT-VERSION-GEN Kick off 1.7.0 cycle 2009-12-26 14:11:46 -08:00
INSTALL INSTALL: document a simpler way to run uninstalled builds 2009-12-03 11:38:21 -08:00
Makefile Merge branch 'mo/bin-wrappers' 2010-01-07 15:35:52 -08:00
README
RelNotes Start 1.6.6.X maintenance track 2009-12-26 14:20:09 -08:00
abspath.c
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c
archive.h
attr.c
attr.h
base85.c
bisect.c Use warning function instead of fprintf(stderr, "Warning: ..."). 2010-01-03 16:17:03 -08:00
bisect.h
blob.c
blob.h
branch.c
branch.h
builtin-add.c
builtin-annotate.c
builtin-apply.c builtin-apply.c: pay attention to -p<n> when determining the name 2009-11-26 19:02:24 -08:00
builtin-archive.c Fix archive format with -- on the command line 2009-12-10 15:29:05 -08:00
builtin-bisect--helper.c
builtin-blame.c Merge branch 'maint' 2009-12-22 12:32:39 -08:00
builtin-branch.c Merge branch 'maint-1.6.0' into maint 2009-12-31 15:00:14 -08:00
builtin-bundle.c
builtin-cat-file.c
builtin-check-attr.c
builtin-check-ref-format.c
builtin-checkout-index.c
builtin-checkout.c
builtin-clean.c
builtin-clone.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-commit-tree.c
builtin-commit.c Merge branch 'mv/commit-date' 2010-01-07 15:35:55 -08:00
builtin-config.c
builtin-count-objects.c Merge branch 'maint-1.6.1' into maint 2009-12-30 01:24:12 -08:00
builtin-describe.c
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c
builtin-fast-export.c
builtin-fetch-pack.c
builtin-fetch.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-fmt-merge-msg.c
builtin-for-each-ref.c
builtin-fsck.c
builtin-gc.c
builtin-grep.c Merge branch 'bc/grep-i-F' into maint 2009-12-03 13:51:26 -08:00
builtin-help.c help: Do not unnecessarily look for a repository 2009-12-01 12:10:09 -08:00
builtin-init-db.c
builtin-log.c Merge branch 'jc/1.7.0-diff-whitespace-only-status' 2009-12-26 14:03:18 -08:00
builtin-ls-files.c
builtin-ls-remote.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-ls-tree.c
builtin-mailinfo.c Merge branch 'jc/mailinfo-remove-brackets' 2009-11-30 14:43:24 -08:00
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c
builtin-merge-ours.c
builtin-merge-recursive.c
builtin-merge.c Merge branch 'mm/maint-merge-ff-error-message-fix' into maint 2009-12-08 22:42:23 -08:00
builtin-mktree.c
builtin-mv.c Use warning function instead of fprintf(stderr, "Warning: ..."). 2010-01-03 16:17:03 -08:00
builtin-name-rev.c
builtin-pack-objects.c
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c
builtin-push.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-read-tree.c
builtin-receive-pack.c Merge branch 'jc/1.7.0-push-safety' 2009-12-26 14:03:17 -08:00
builtin-reflog.c
builtin-remote.c Merge branch 'th/maint-remote-update-help-string' into maint 2009-12-03 13:52:31 -08:00
builtin-replace.c
builtin-rerere.c Sync with 1.6.5.5 2009-12-05 11:39:13 -08:00
builtin-reset.c reset: improve worktree safety valves 2009-12-05 10:28:20 -08:00
builtin-rev-list.c Merge branch 'jc/1.7.0-diff-whitespace-only-status' 2009-12-26 14:03:18 -08:00
builtin-rev-parse.c
builtin-revert.c
builtin-rm.c
builtin-send-pack.c
builtin-shortlog.c Merge branch 'uk/maint-shortlog-encoding' 2009-11-30 14:42:28 -08:00
builtin-show-branch.c
builtin-show-ref.c
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c tag -d: print sha1 of deleted tag 2009-12-10 18:45:34 -08:00
builtin-tar-tree.c
builtin-unpack-objects.c
builtin-update-index.c
builtin-update-ref.c
builtin-update-server-info.c
builtin-upload-archive.c Merge branch 'np/maint-sideband-favor-status' into maint 2009-12-03 13:50:24 -08:00
builtin-verify-pack.c
builtin-verify-tag.c
builtin-write-tree.c
builtin.h
bundle.c Merge branch 'jc/log-stdin' 2009-11-23 22:30:08 -08:00
bundle.h
cache-tree.c
cache-tree.h
cache.h Merge branch 'mm/config-pathname-tilde-expand' into maint 2009-12-03 13:51:36 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h Add a notice that only certain functions can print color escape codes 2009-11-27 00:28:40 -08:00
combine-diff.c Give the hunk comment its own color 2009-11-28 10:05:44 -08:00
command-list.txt Add git-http-backend to command-list. 2009-12-26 14:12:34 -08:00
commit.c
commit.h
config.c
config.mak.in
configure.ac Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
connect.c Merge branch 'cc/replace' 2009-11-23 22:24:01 -08:00
convert.c
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'jc/1.7.0-diff-whitespace-only-status' 2009-12-26 14:03:18 -08:00
diff-no-index.c
diff.c Merge branch 'maint' 2009-12-30 01:25:21 -08:00
diff.h Merge branch 'jc/1.7.0-diff-whitespace-only-status' 2009-12-26 14:03:18 -08:00
diffcore-break.c
diffcore-delta.c Fix diff -B/--dirstat miscounting of newly added contents 2009-12-05 10:54:17 -08:00
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c
dir.h
editor.c
entry.c
environment.c Merge branch 'cc/replace' 2009-11-23 22:24:01 -08:00
exec_cmd.c
exec_cmd.h
fast-import.c fast-import: Document author/committer/tagger name is optional 2009-12-31 14:46:08 -08:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl Merge branch 'maint' 2009-12-08 22:47:09 -08:00
git-am.sh Merge branch 'jc/maint-am-keep' into maint 2009-12-03 13:54:03 -08:00
git-archimport.perl
git-bisect.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-compat-util.h
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl cvsserver: make the output of 'update' more compatible with cvs. 2009-12-31 12:15:01 -08:00
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh Merge branch 'js/filter-branch-prime' 2010-01-07 15:40:30 -08:00
git-instaweb.sh Merge branch 'rs/work-around-grep-opt-insanity' into maint 2009-12-03 13:53:58 -08:00
git-lost-found.sh
git-merge-octopus.sh octopus: remove dead code 2009-12-13 23:40:24 -08:00
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-mergetool.sh
git-notes.sh
git-parse-remote.sh
git-pull.sh Merge branch 'maint' 2009-12-08 22:47:09 -08:00
git-quiltimport.sh
git-rebase--interactive.sh Merge branch 'maint' 2009-12-19 23:20:16 -08:00
git-rebase.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-relink.perl
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'jc/1.7.0-send-email-no-thread-default' 2009-12-26 14:03:17 -08:00
git-sh-setup.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-stash.sh stash: mention --patch in usage string. 2010-01-02 10:40:55 -08:00
git-submodule.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-svn.perl git svn: branch/tag commands detect username in URLs 2009-12-23 11:58:05 -08:00
git-web--browse.sh
git.c Merge branch 'cc/replace' 2009-11-23 22:24:01 -08:00
git.spec.in
graph.c
graph.h
grep.c
grep.h
hash-object.c
hash.c
hash.h
help.c help.autocorrect: do not run a command if the command given is junk 2009-12-15 16:21:51 -08:00
help.h
http-backend.c
http-fetch.c
http-push.c
http-walker.c
http.c Use warning function instead of fprintf(stderr, "Warning: ..."). 2010-01-03 16:17:03 -08:00
http.h
ident.c
imap-send.c
index-pack.c
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c
log-tree.h
mailmap.c
mailmap.h
match-trees.c
merge-file.c
merge-index.c
merge-recursive.c Merge branch 'mm/maint-merge-ff-error-message-fix' into maint 2009-12-08 22:42:23 -08:00
merge-recursive.h merge-recursive: make the error-message generation an extern function 2009-11-29 23:52:31 -08:00
merge-tree.c
mktag.c
name-hash.c
notes.c Fix crasher on encountering SHA1-like non-note in notes tree 2009-12-03 10:10:35 -08:00
notes.h
object.c
object.h
pack-check.c
pack-redundant.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options.c
parse-options.h
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'jc/pretty-lf' 2009-11-30 14:44:22 -08:00
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Merge branch 'nf/maint-fix-index-ext-len-on-be64' into maint 2009-12-27 10:42:00 -08:00
reflog-walk.c
reflog-walk.h
refs.c
refs.h
remote-curl.c
remote.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
remote.h Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
replace_object.c
rerere.c
rerere.h
revision.c Merge branch 'jc/1.7.0-diff-whitespace-only-status' 2009-12-26 14:03:18 -08:00
revision.h Merge branch 'jc/log-stdin' 2009-11-23 22:30:08 -08:00
run-command.c
run-command.h
send-pack.h
server-info.c
setup.c Merge branch 'maint' to sync with 1.6.5.7 2009-12-16 12:47:15 -08:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c
sha1_name.c
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c
strbuf.h
string-list.c
string-list.h
submodule.c
submodule.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-genrandom.c
test-match-trees.c
test-parse-options.c
test-path-utils.c
test-sha1.c
test-sha1.sh
test-sigchain.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
transport.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
transport.h Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unpack-file.c
unpack-trees.c
unpack-trees.h
upload-pack.c Sync with 1.6.5.6 2009-12-10 16:20:59 -08:00
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h
var.c
walker.c
walker.h
wrap-for-bin.sh build dashless "bin-wrappers" directory similar to installed bindir 2009-12-03 11:37:47 -08:00
wrapper.c
write_or_die.c
ws.c
wt-status.c Merge branch 'jk/1.7.0-status' 2009-12-27 23:01:32 -08:00
wt-status.h status/commit: do not suggest "reset HEAD <path>" while merging 2009-12-12 01:22:10 -08:00
xdiff-interface.c
xdiff-interface.h

README

////////////////////////////////////////////////////////////////

	GIT - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, depending on your mood.

 - random three-letter combination that is pronounceable, and not
   actually used by any common UNIX command.  The fact that it is a
   mispronunciation of "get" may or may not be relevant.
 - stupid. contemptible and despicable. simple. Take your pick from the
   dictionary of slang.
 - "global information tracker": you're in a good mood, and it actually
   works for you. Angels sing, and a light suddenly fills the room.
 - "goddamn idiotic truckload of sh*t": when it breaks

Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

Git is an Open Source project covered by the GNU General Public License.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.

See Documentation/gittutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands, and
Documentation/git-commandname.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with "man gittutorial" or "git help tutorial", and the
documentation of each command with "man git-commandname" or "git help
commandname".

CVS users may also want to read Documentation/gitcvs-migration.txt
("man gitcvs-migration" or "git help cvs-migration" if git is
installed).

Many Git online resources are accessible from http://git-scm.com/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org. To subscribe
to the list, send an email with just "subscribe git" in the body to
majordomo@vger.kernel.org. The mailing list archives are available at
http://marc.theaimsgroup.com/?l=git and other archival sites.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.