From: Junio C Hamano Date: Mon, 11 Jun 2007 01:21:54 +0000 (+0000) Subject: Autogenerated HTML docs for v1.5.2.1-174-gcd03 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f614c6470329dcb81603708f9710d5dd2c3a9c43;p=git.git Autogenerated HTML docs for v1.5.2.1-174-gcd03 --- diff --git a/config.txt b/config.txt index de408b657..a2057d9d2 100644 --- a/config.txt +++ b/config.txt @@ -531,7 +531,7 @@ merge.summary:: merge.tool:: Controls which merge resolution program is used by gitlink:git-mergetool[l]. Valid values are: "kdiff3", "tkdiff", - "meld", "xxdiff", "emerge", "vimdiff", and "opendiff" + "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and "opendiff". merge.verbosity:: Controls the amount of output shown by the recursive merge diff --git a/git-config.html b/git-config.html index a5dc1e047..59b71498d 100644 --- a/git-config.html +++ b/git-config.html @@ -1453,7 +1453,7 @@ merge.tool

Controls which merge resolution program is used by git-mergetool(l). Valid values are: "kdiff3", "tkdiff", - "meld", "xxdiff", "emerge", "vimdiff", and "opendiff" + "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and "opendiff".

@@ -1777,7 +1777,7 @@ transfer.unpackLimit diff --git a/git-mergetool.html b/git-mergetool.html index aea53acee..523b819b8 100644 --- a/git-mergetool.html +++ b/git-mergetool.html @@ -293,7 +293,7 @@ with merge conflicts.

Use the merge resolution program specified by <tool>. Valid merge tools are: - kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, and opendiff + kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, and opendiff

If a merge resolution program is not specified, git mergetool will use the configuration variable merge.tool. If the @@ -316,7 +316,7 @@ will pick a suitable default.

diff --git a/git-mergetool.txt b/git-mergetool.txt index b89c51c65..6c32c6d18 100644 --- a/git-mergetool.txt +++ b/git-mergetool.txt @@ -25,7 +25,7 @@ OPTIONS -t or --tool=:: Use the merge resolution program specified by . Valid merge tools are: - kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, and opendiff + kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, and opendiff + If a merge resolution program is not specified, 'git mergetool' will use the configuration variable merge.tool. If the diff --git a/git-mktag.html b/git-mktag.html index 857cb5cf4..4c14f2a12 100644 --- a/git-mktag.html +++ b/git-mktag.html @@ -282,18 +282,19 @@ that can also be used to sign other objects.

Tag Format

-

A tag signature file has a very simple fixed format: three lines of

+

A tag signature file has a very simple fixed format: four lines of

object <sha1>
 type <typename>
-tag <tagname>
+tag <tagname> +tagger <tagger>
-

followed by some optional free-form signature that git itself -doesn't care about, but that can be verified with gpg or similar.

-

The size of the full object is artificially limited to 8kB. (Just -because I'm a lazy bastard, and if you can't fit a signature in that -size, you're doing something wrong)

+

followed by some optional free-form message (some tags created +by older git may not have tagger line). The message, when +exists, is separated by a blank line from the header. The +message part may contain a signature that git itself doesn't +care about, but that can be verified with gpg.

Author

@@ -309,7 +310,7 @@ size, you're doing something wrong)

diff --git a/git-mktag.txt b/git-mktag.txt index 0ac3be10c..ea7a75234 100644 --- a/git-mktag.txt +++ b/git-mktag.txt @@ -19,18 +19,18 @@ The output is the new tag's identifier. Tag Format ---------- -A tag signature file has a very simple fixed format: three lines of +A tag signature file has a very simple fixed format: four lines of object type tag + tagger -followed by some 'optional' free-form signature that git itself -doesn't care about, but that can be verified with gpg or similar. - -The size of the full object is artificially limited to 8kB. (Just -because I'm a lazy bastard, and if you can't fit a signature in that -size, you're doing something wrong) +followed by some 'optional' free-form message (some tags created +by older git may not have `tagger` line). The message, when +exists, is separated by a blank line from the header. The +message part may contain a signature that git itself doesn't +care about, but that can be verified with gpg. Author diff --git a/tutorial.html b/tutorial.html index 0e1b4a332..f3d84d4d6 100644 --- a/tutorial.html +++ b/tutorial.html @@ -376,7 +376,7 @@ and newly modified files, and in both cases it takes a snapshot of the given files and stages that content in the index, ready for inclusion in the next commit.

-

Viewing the changelog

+

Viewing project history

At any point you can view the history of your changes using

@@ -786,7 +786,7 @@ digressions that may be interesting at this point are:

diff --git a/tutorial.txt b/tutorial.txt index f55d4083e..118ff7286 100644 --- a/tutorial.txt +++ b/tutorial.txt @@ -132,8 +132,8 @@ and newly modified files, and in both cases it takes a snapshot of the given files and stages that content in the index, ready for inclusion in the next commit. -Viewing the changelog ---------------------- +Viewing project history +----------------------- At any point you can view the history of your changes using diff --git a/user-manual.html b/user-manual.html index a17980de8..e58205d70 100644 --- a/user-manual.html +++ b/user-manual.html @@ -1,11 +1,11 @@ -Git User's Manual (for version 1.5.1 or newer)

Git User's Manual (for version 1.5.1 or newer)


Table of Contents

Preface
1. Repositories and Branches
How to get a git repository
How to check out a different version of a project
Understanding History: Commits
Understanding history: commits, parents, and reachability
Understanding history: History diagrams
Understanding history: What is a branch?
Manipulating branches
Examining an old version without creating a new branch
Examining branches from a remote repository
Naming branches, tags, and other references
Updating a repository with git fetch
Fetching branches from other repositories
2. Exploring git history
How to use bisect to find a regression
Naming commits
Creating tags
Browsing revisions
Generating diffs
Viewing old file versions
Examples
Counting the number of commits on a branch
Check whether two branches point at the same history
Find first tagged version including a given fix
Showing commits unique to a given branch
Creating a changelog and tarball for a software release
Finding commits referencing a file with given content
3. Developing with git
Telling git your name
Creating a new repository
How to make a commit
Creating good commit messages
Ignoring files
How to merge
Resolving a merge
Getting conflict-resolution help during a merge
Undoing a merge
Fast-forward merges
Fixing mistakes
Fixing a mistake with a new commit
Fixing a mistake by editing history
Checking out an old version of a file
Ensuring good performance
Ensuring reliability
Checking the repository for corruption
Recovering lost changes
4. Sharing development with others
Getting updates with git pull
Submitting patches to a project
Importing patches to a project
Public git repositories
Setting up a public repository
Exporting a git repository via the git protocol
Exporting a git repository via http
Pushing changes to a public repository
Setting up a shared repository
Allowing web browsing of a repository
Examples
Maintaining topic branches for a Linux subsystem maintainer
5. Rewriting history and maintaining patch series
Creating the perfect patch series
Keeping a patch series up to date using git-rebase
Modifying a single commit
Reordering or selecting from a patch series
Other tools
Problems with rewriting history
6. Advanced branch management
Fetching individual branches
git fetch and fast-forwards
Forcing git fetch to do non-fast-forward updates
Configuring remote branches
7. Git internals
The Object Database
Blob Object
Tree Object
Commit Object
Trust
Tag Object
The "index" aka "Current Directory Cache"
The Workflow
working directory -> index
index -> object database
object database -> index
index -> working directory
Tying it all together
Examining the data
Merging multiple trees
Merging multiple trees, continued
How git stores objects efficiently: pack files
Dangling objects
A birds-eye view of Git's source code
8. GIT Glossary
A. Git Quick Start
Creating a new repository
Managing branches
Exploring history
Making changes
Merging
Sharing your changes
Repository maintenance
B. Notes and todo list for this manual

Preface

Git is a fast distributed revision control system.

This manual is designed to be readable by someone with basic unix +Git User's Manual (for version 1.5.1 or newer)

Git User's Manual (for version 1.5.1 or newer)


Table of Contents

Preface
1. Repositories and Branches
How to get a git repository
How to check out a different version of a project
Understanding History: Commits
Understanding history: commits, parents, and reachability
Understanding history: History diagrams
Understanding history: What is a branch?
Manipulating branches
Examining an old version without creating a new branch
Examining branches from a remote repository
Naming branches, tags, and other references
Updating a repository with git fetch
Fetching branches from other repositories
2. Exploring git history
How to use bisect to find a regression
Naming commits
Creating tags
Browsing revisions
Generating diffs
Viewing old file versions
Examples
Counting the number of commits on a branch
Check whether two branches point at the same history
Find first tagged version including a given fix
Showing commits unique to a given branch
Creating a changelog and tarball for a software release
Finding commits referencing a file with given content
3. Developing with git
Telling git your name
Creating a new repository
How to make a commit
Creating good commit messages
Ignoring files
How to merge
Resolving a merge
Getting conflict-resolution help during a merge
Undoing a merge
Fast-forward merges
Fixing mistakes
Fixing a mistake with a new commit
Fixing a mistake by editing history
Checking out an old version of a file
Ensuring good performance
Ensuring reliability
Checking the repository for corruption
Recovering lost changes
4. Sharing development with others
Getting updates with git pull
Submitting patches to a project
Importing patches to a project
Public git repositories
Setting up a public repository
Exporting a git repository via the git protocol
Exporting a git repository via http
Pushing changes to a public repository
Setting up a shared repository
Allowing web browsing of a repository
Examples
Maintaining topic branches for a Linux subsystem maintainer
5. Rewriting history and maintaining patch series
Creating the perfect patch series
Keeping a patch series up to date using git-rebase
Modifying a single commit
Reordering or selecting from a patch series
Other tools
Problems with rewriting history
6. Advanced branch management
Fetching individual branches
git fetch and fast-forwards
Forcing git fetch to do non-fast-forward updates
Configuring remote branches
7. Git internals
The Object Database
Blob Object
Tree Object
Commit Object
Trust
Tag Object
The "index" aka "Current Directory Cache"
The Workflow
working directory -> index
index -> object database
object database -> index
index -> working directory
Tying it all together
Examining the data
Merging multiple trees
Merging multiple trees, continued
How git stores objects efficiently: pack files
Dangling objects
A birds-eye view of Git's source code
8. GIT Glossary
A. Git Quick Reference
Creating a new repository
Managing branches
Exploring history
Making changes
Merging
Sharing your changes
Repository maintenance
B. Notes and todo list for this manual

Preface

Git is a fast distributed revision control system.

This manual is designed to be readable by someone with basic unix command-line skills, but no previous knowledge of git.

Chapter 1, Repositories and Branches and Chapter 2, Exploring git history explain how to fetch and study a project using git—read these chapters to learn how to build and test a particular version of a software project, search for regressions, and so on.

People needing to do actual development will also want to read Chapter 3, Developing with git and Chapter 4, Sharing development with others.

Further chapters cover more specialized topics.

Comprehensive reference documentation is available through the man -pages. For a command such as "git clone", just use

$ man git-clone

See also Appendix A, Git Quick Start for a brief overview of git commands, -without any explanation.

Also, see Appendix B, Notes and todo list for this manual for ways that you can help make this manual more +pages. For a command such as "git clone", just use

$ man git-clone

See also Appendix A, Git Quick Reference for a brief overview of git commands, +without any explanation.

Finally, see Appendix B, Notes and todo list for this manual for ways that you can help make this manual more complete.

Chapter 1. Repositories and Branches

How to get a git repository

It will be useful to have a git repository to experiment with as you read this manual.

The best way to get one is by using the git-clone(1) command to download a copy of an existing repository for a project that you @@ -224,7 +224,7 @@ a new stanza:

$ ...

This is what causes git to track the remote's branches; you may modify or delete these configuration options by editing .git/config with a text editor. (See the "CONFIGURATION FILE" section of -git-config(1) for details.)

Chapter 2. Exploring git history

Git is best thought of as a tool for storing the history of a collection of files. It does this by storing compressed snapshots of the contents of a file heirarchy, together with "commits" which show the relationships between these snapshots.

Git provides extremely flexible and fast tools for exploring the @@ -385,7 +385,7 @@ echo echo "git log --no-merges v$new ^v$last > ../ChangeLog-$new"
echo "git shortlog --no-merges v$new ^v$last > ../ShortLog"
echo "git diff --stat --summary -M v$last v$new > ../diffstat-$new"

and then he just cut-and-pastes the output commands after verifying that -they look OK.

Finding commits referencing a file with given content

Somebody hands you a copy of a file, and asks which commits modified a +they look OK.

Finding commits referencing a file with given content

Somebody hands you a copy of a file, and asks which commits modified a file such that it contained the given content either before or after the commit. You can find out with this:

$  git log --raw -r --abbrev=40 --pretty=oneline -- filename |
        grep -B 1 `git hash-object filename`

Figuring out why this works is left as an exercise to the (advanced) @@ -684,7 +684,7 @@ options in git-config(1) to learn ho depending on the current branch. Also note that the —track option to git-branch(1) and git-checkout(1) can be used to automatically set the default remote branch to pull from at the time -that a branch is created:

$ git checkout --track -b origin/maint maint

In addition to saving you keystrokes, "git pull" also helps you by +that a branch is created:

$ git checkout --track -b maint origin/maint

In addition to saving you keystrokes, "git pull" also helps you by producing a default commit message documenting the branch and repository that you pulled from.

(But note that no such commit will be created in the case of a fast forward; instead, your branch will just be @@ -2076,8 +2076,8 @@ This commit is referred to as a "merge commit", or sometimes just a The tree of actual checked out files. The working tree is normally equal to the HEAD plus any local changes that you have made but not yet committed. -

Appendix A. Git Quick Start

This is a quick summary of the major commands; the following chapters -will explain how these work in more detail.

Creating a new repository

From a tarball:

$ tar xzf project.tar.gz
+

Appendix A. Git Quick Reference

This is a quick summary of the major commands; the previous chapters +explain how these work in more detail.

Creating a new repository

From a tarball:

$ tar xzf project.tar.gz
$ cd project
$ git init
Initialized empty Git repository in .git/
@@ -2168,4 +2168,4 @@ temporary branch creation?

Add more good examples. Entire sections of jus might be a good idea; maybe make an "advanced examples" section a standard end-of-chapter section?

Include cross-references to the glossary, where appropriate.

Document shallow clones? See draft 1.5.0 release notes for some documentation.

Add a section on working with other version control systems, including -CVS, Subversion, and just imports of series of release tarballs.

More details on gitweb?

Write a chapter on using plumbing and writing scripts.

+CVS, Subversion, and just imports of series of release tarballs.

More details on gitweb?

Write a chapter on using plumbing and writing scripts.

Alternates, clone -reference, etc.

git unpack-objects -r for recovery

diff --git a/user-manual.txt b/user-manual.txt index 957cd0076..0bfa21b3d 100644 --- a/user-manual.txt +++ b/user-manual.txt @@ -27,7 +27,7 @@ $ man git-clone See also <> for a brief overview of git commands, without any explanation. -Also, see <> for ways that you can help make this manual more +Finally, see <> for ways that you can help make this manual more complete. @@ -921,6 +921,7 @@ echo "git diff --stat --summary -M v$last v$new > ../diffstat-$new" and then he just cut-and-pastes the output commands after verifying that they look OK. +[[Finding-comments-with-given-content]] Finding commits referencing a file with given content ----------------------------------------------------- @@ -1682,7 +1683,7 @@ automatically set the default remote branch to pull from at the time that a branch is created: ------------------------------------------------- -$ git checkout --track -b origin/maint maint +$ git checkout --track -b maint origin/maint ------------------------------------------------- In addition to saving you keystrokes, "git pull" also helps you by @@ -3669,11 +3670,11 @@ itself! include::glossary.txt[] [[git-quick-start]] -Appendix A: Git Quick Start -=========================== +Appendix A: Git Quick Reference +=============================== -This is a quick summary of the major commands; the following chapters -will explain how these work in more detail. +This is a quick summary of the major commands; the previous chapters +explain how these work in more detail. [[quick-creating-a-new-repository]] Creating a new repository @@ -3951,3 +3952,7 @@ CVS, Subversion, and just imports of series of release tarballs. More details on gitweb? Write a chapter on using plumbing and writing scripts. + +Alternates, clone -reference, etc. + +git unpack-objects -r for recovery