From: Junio C Hamano Date: Wed, 23 Apr 2008 16:09:20 +0000 (+0000) Subject: Autogenerated HTML docs for v1.5.5.1-79-g57cf X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a9aee78a156ad6299451294a61aebe2a73945d3c;p=git.git Autogenerated HTML docs for v1.5.5.1-79-g57cf --- diff --git a/diff-options.txt b/diff-options.txt index 01e7a5785..13234fa28 100644 --- a/diff-options.txt +++ b/diff-options.txt @@ -83,7 +83,8 @@ endif::git-format-patch[] Show only names of changed files. --name-status:: - Show only names and status of changed files. + Show only names and status of changed files. See the description + of the `--diff-filter` option on what the status letters mean. --color:: Show colored diff. diff --git a/everyday.html b/everyday.html index e6b957373..147844db3 100644 --- a/everyday.html +++ b/everyday.html @@ -327,8 +327,7 @@ disk space is wasted by not repacking.
  • -repacks the local repository and performs other housekeeping tasks. Running -without —prune is a safe operation even while other ones are in progress. +repacks the local repository and performs other housekeeping tasks.

  • @@ -339,8 +338,7 @@ Repack a small project into single pack.
    -
    $ git gc (1)
    -$ git gc --prune
    +
    $ git gc (1)
    1. @@ -581,7 +579,7 @@ $ git pull (3) $ git log -p ORIG_HEAD.. arch/i386 include/asm-i386 (4) $ git pull git://git.kernel.org/pub/.../jgarzik/libata-dev.git ALL (5) $ git reset --hard ORIG_HEAD (6) -$ git gc --prune (7) +$ git gc (7) $ git fetch --tags (8)
        @@ -1052,7 +1050,7 @@ upload to public HTTP server hosted by your ISP. diff --git a/everyday.txt b/everyday.txt index fdbd15a18..e598cdda4 100644 --- a/everyday.txt +++ b/everyday.txt @@ -48,14 +48,12 @@ $ git gc <3> repository health reasonably well. <2> check how many loose objects there are and how much disk space is wasted by not repacking. -<3> repacks the local repository and performs other housekeeping tasks. Running -without `--prune` is a safe operation even while other ones are in progress. +<3> repacks the local repository and performs other housekeeping tasks. Repack a small project into single pack.:: + ------------ $ git gc <1> -$ git gc --prune ------------ + <1> pack all the objects reachable from the refs into one pack, @@ -182,7 +180,7 @@ $ git pull <3> $ git log -p ORIG_HEAD.. arch/i386 include/asm-i386 <4> $ git pull git://git.kernel.org/pub/.../jgarzik/libata-dev.git ALL <5> $ git reset --hard ORIG_HEAD <6> -$ git gc --prune <7> +$ git gc <7> $ git fetch --tags <8> ------------ + diff --git a/git-clone.html b/git-clone.html index 958f9776c..b39207b9c 100644 --- a/git-clone.html +++ b/git-clone.html @@ -344,10 +344,13 @@ configuration variables.

        NOTE: this is a possibly dangerous operation; do not use it unless you understand what it does. If you clone your -repository using this option, then delete branches in the -source repository and then run git-gc(1) using the ---prune option in the source repository, it may remove -objects which are referenced by the cloned repository.

        +repository using this option and then delete branches (or use any +other git command that makes any existing commit unreferenced) in the +source repository, some objects may become unreferenced (or dangling). +These objects may be removed by normal git operations (such as git-commit[1]) +which automatically call git-gc[1]. If these objects are removed and +were referenced by the cloned repository, then the cloned repository +will become corrupt.

    --reference <repository> @@ -361,6 +364,7 @@ objects which are referenced by the cloned repository.

    require fewer objects to be copied from the repository being cloned, reducing network and local storage costs.

    +

    NOTE: see NOTE to --shared option.

    --quiet @@ -664,7 +668,7 @@ Create a repository on the kernel.org machine that borrows from Linus diff --git a/git-clone.txt b/git-clone.txt index 975824301..9b564420c 100644 --- a/git-clone.txt +++ b/git-clone.txt @@ -65,10 +65,13 @@ OPTIONS + *NOTE*: this is a possibly dangerous operation; do *not* use it unless you understand what it does. If you clone your -repository using this option, then delete branches in the -source repository and then run linkgit:git-gc[1] using the -'--prune' option in the source repository, it may remove -objects which are referenced by the cloned repository. +repository using this option and then delete branches (or use any +other git command that makes any existing commit unreferenced) in the +source repository, some objects may become unreferenced (or dangling). +These objects may be removed by normal git operations (such as git-commit[1]) +which automatically call git-gc[1]. If these objects are removed and +were referenced by the cloned repository, then the cloned repository +will become corrupt. @@ -79,6 +82,8 @@ objects which are referenced by the cloned repository. an already existing repository as an alternate will require fewer objects to be copied from the repository being cloned, reducing network and local storage costs. ++ +*NOTE*: see NOTE to --shared option. --quiet:: -q:: diff --git a/git-diff-files.html b/git-diff-files.html index cc7b0b203..6d1789343 100644 --- a/git-diff-files.html +++ b/git-diff-files.html @@ -422,7 +422,8 @@ same as "git-diff-index" and "git-diff-tree".

    - Show only names and status of changed files. + Show only names and status of changed files. See the description + of the --diff-filter option on what the status letters mean.

    @@ -1287,7 +1288,7 @@ the pathname, but if that is NUL, the record will show two paths.

    diff --git a/git-diff-index.html b/git-diff-index.html index 444597456..3882f412a 100644 --- a/git-diff-index.html +++ b/git-diff-index.html @@ -423,7 +423,8 @@ entries in the index are compared.

    - Show only names and status of changed files. + Show only names and status of changed files. See the description + of the --diff-filter option on what the status letters mean.

    @@ -1369,7 +1370,7 @@ always have the special all-zero sha1. diff --git a/git-diff-tree.html b/git-diff-tree.html index 7772947c0..b9d1dcff0 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html @@ -425,7 +425,8 @@ git-diff-tree(1) Manual Page

    - Show only names and status of changed files. + Show only names and status of changed files. See the description + of the --diff-filter option on what the status letters mean.

    @@ -1764,7 +1765,7 @@ the pathname, but if that is NUL, the record will show two paths.

    diff --git a/git-diff.html b/git-diff.html index e2dcbd38d..f41c9a683 100644 --- a/git-diff.html +++ b/git-diff.html @@ -501,7 +501,8 @@ and the range notations ("<commit>..<commit>" and

    - Show only names and status of changed files. + Show only names and status of changed files. See the description + of the --diff-filter option on what the status letters mean.

    @@ -1484,7 +1485,7 @@ Output diff in reverse. diff --git a/git-format-patch.html b/git-format-patch.html index 6ed4ecfe0..cc89cb75b 100644 --- a/git-format-patch.html +++ b/git-format-patch.html @@ -471,7 +471,8 @@ reference.

    - Show only names and status of changed files. + Show only names and status of changed files. See the description + of the --diff-filter option on what the status letters mean.

    @@ -1064,7 +1065,7 @@ git-format-patch -3 diff --git a/git-log.html b/git-log.html index db5e2bbc7..1b7735aa4 100644 --- a/git-log.html +++ b/git-log.html @@ -423,7 +423,8 @@ each commit introduces are shown.

    - Show only names and status of changed files. + Show only names and status of changed files. See the description + of the --diff-filter option on what the status letters mean.

    @@ -1928,7 +1929,7 @@ reversible operation.

    diff --git a/git-push.html b/git-push.html index 0f3679b3f..67862c716 100644 --- a/git-push.html +++ b/git-push.html @@ -306,13 +306,14 @@ documentation for git-receive-pack(1).

    by the source ref, followed by a colon :, followed by the destination ref.

    -

    The <src> side can be an -arbitrary "SHA1 expression" that can be used as an -argument to git-cat-file -t. E.g. master~4 (push -four parents before the current master head).

    +

    The <src> side represents the source branch (or arbitrary +"SHA1 expression", such as master~4 (four parents before the +tip of master branch); see git-rev-parse(1)) that you +want to push. The <dst> side represents the destination location.

    The local ref that matches <src> is used -to fast forward the remote ref that matches <dst>. If -the optional plus + is used, the remote ref is updated +to fast forward the remote ref that matches <dst> (or, if no <dst> was +specified, the same ref that <src> referred to locally). If +the optional leading plus + is used, the remote ref is updated even if it does not result in a fast forward update.

    Note: If no explicit refspec is found, (that is neither on the command line nor in any Push line of the @@ -676,7 +677,8 @@ git push origin master Find a ref that matches master in the source repository (most likely, it would find refs/heads/master), and update the same ref (e.g. refs/heads/master) in origin repository - with it. + with it. If master did not exist remotely, it would be + created.

    @@ -705,9 +707,10 @@ git push origin master:refs/heads/experimental

    Create the branch experimental in the origin repository - by copying the current master branch. This form is usually - needed to create a new branch in the remote repository as - there is no experimental branch to match. + by copying the current master branch. This form is only + needed to create a new branch or tag in the remote repository when + the local name and the remote name are different; otherwise, + the ref name on its own will work.

    @@ -727,7 +730,7 @@ by Linus Torvalds <torvalds@osdl.org>

    diff --git a/git-push.txt b/git-push.txt index 3128170bc..058594913 100644 --- a/git-push.txt +++ b/git-push.txt @@ -35,14 +35,15 @@ OPTIONS by the source ref, followed by a colon `:`, followed by the destination ref. + -The side can be an -arbitrary "SHA1 expression" that can be used as an -argument to `git-cat-file -t`. E.g. `master~4` (push -four parents before the current master head). +The side represents the source branch (or arbitrary +"SHA1 expression", such as `master~4` (four parents before the +tip of `master` branch); see linkgit:git-rev-parse[1]) that you +want to push. The side represents the destination location. + The local ref that matches is used -to fast forward the remote ref that matches . If -the optional plus `+` is used, the remote ref is updated +to fast forward the remote ref that matches (or, if no was +specified, the same ref that referred to locally). If +the optional leading plus `+` is used, the remote ref is updated even if it does not result in a fast forward update. + Note: If no explicit refspec is found, (that is neither @@ -165,7 +166,8 @@ git push origin master:: Find a ref that matches `master` in the source repository (most likely, it would find `refs/heads/master`), and update the same ref (e.g. `refs/heads/master`) in `origin` repository - with it. + with it. If `master` did not exist remotely, it would be + created. git push origin :experimental:: Find a ref that matches `experimental` in the `origin` repository @@ -179,9 +181,10 @@ git push origin master:satellite/master:: git push origin master:refs/heads/experimental:: Create the branch `experimental` in the `origin` repository - by copying the current `master` branch. This form is usually - needed to create a new branch in the remote repository as - there is no `experimental` branch to match. + by copying the current `master` branch. This form is only + needed to create a new branch or tag in the remote repository when + the local name and the remote name are different; otherwise, + the ref name on its own will work. Author ------ diff --git a/user-manual.html b/user-manual.html index 58d20b999..664ff1134 100644 --- a/user-manual.html +++ b/user-manual.html @@ -1,4 +1,4 @@ -Git User's Manual (for version 1.5.3 or newer)

    Git User's Manual (for version 1.5.3 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 rewriting history
    Checking out an old version of a file
    Temporarily setting aside work in progress
    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
    What to do when a push fails
    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
    Rewriting a single commit
    Reordering or selecting from a patch series
    Other tools
    Problems with rewriting history
    Why bisecting merge commits can be harder than bisecting linear 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 concepts
    The Object Database
    Commit Object
    Tree Object
    Blob Object
    Trust
    Tag Object
    How git stores objects efficiently: pack files
    Dangling objects
    Recovering from repository corruption
    The index
    8. Submodules
    Pitfalls with submodules
    9. Low-level git operations
    Object access and manipulation
    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
    10. Hacking git
    Object storage format
    A birds-eye view of Git's source code
    11. 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 +Git User's Manual (for version 1.5.3 or newer)

    Git User's Manual (for version 1.5.3 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 rewriting history
    Checking out an old version of a file
    Temporarily setting aside work in progress
    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
    What to do when a push fails
    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
    Rewriting a single commit
    Reordering or selecting from a patch series
    Other tools
    Problems with rewriting history
    Why bisecting merge commits can be harder than bisecting linear 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 concepts
    The Object Database
    Commit Object
    Tree Object
    Blob Object
    Trust
    Tag Object
    How git stores objects efficiently: pack files
    Dangling objects
    Recovering from repository corruption
    The index
    8. Submodules
    Pitfalls with submodules
    9. Low-level git operations
    Object access and manipulation
    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
    10. Hacking git
    Object storage format
    A birds-eye view of Git's source code
    11. 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 @@ -613,14 +613,7 @@ dangling tree d50bb86186bf27b681d25af89d3b5b68382e4085
    dangling tree b24c2473f1fd3d91352a624795be026d64c8841f
    ...

    Dangling objects are not a problem. At worst they may take up a little extra disk space. They can sometimes provide a last-resort method for -recovering lost work—see the section called “Dangling objects” for details. However, if -you wish, you can remove them with git-prune(1) or the —prune -option to git-gc(1):

    $ git gc --prune

    This may be time-consuming. Unlike most other git operations (including -git-gc when run without any options), it is not safe to prune while -other git operations are in progress in the same repository.

    If git-fsck(1) complains about sha1 mismatches or missing -objects, you may have a much more serious problem; your best option is -probably restoring from backups. See -the section called “Recovering from repository corruption” for a detailed discussion.

    Recovering lost changes

    Reflogs

    Say you modify a branch with git-reset(1) —hard, and then +recovering lost work—see the section called “Dangling objects” for details.

    Recovering lost changes

    Reflogs

    Say you modify a branch with git-reset(1) —hard, and then realize that the branch was the only reference you had to that point in history.

    Fortunately, git also keeps a log, called a "reflog", of all the previous values of each branch. So in this case you can still find the @@ -1449,7 +1442,7 @@ column in the git-ls-files(1) outp number, and will take on values other than 0 for files with merge conflicts.

    The index is thus a sort of temporary staging area, which is filled with a tree which you are in the process of working on.

    If you blow the index away entirely, you generally haven't lost any -information as long as you have the name of the tree that it described.

    Chapter 8. Submodules

    Table of Contents

    Pitfalls with submodules

    Large projects are often composed of smaller, self-contained modules. For +information as long as you have the name of the tree that it described.

    Chapter 8. Submodules

    Table of Contents

    Pitfalls with submodules

    Large projects are often composed of smaller, self-contained modules. For example, an embedded Linux distribution's source tree would include every piece of software in the distribution with some local modifications; a movie player might need to build against a specific, known-working version of a @@ -1543,7 +1536,7 @@ index d266b98..261dfac 160000
    $ git add a
    $ git commit -m "Updated submodule a."
    $ git push

    You have to run git submodule update after git pull if you want to update -submodules, too.

    Pitfalls with submodules

    Always publish the submodule change before publishing the change to the +submodules, too.

    Pitfalls with submodules

    Always publish the submodule change before publishing the change to the superproject that references it. If you forget to publish the submodule change, others won't be able to clone the repository:

    $ cd ~/git/super/a
    $ echo i added another line to this file >> a.txt
    diff --git a/user-manual.txt b/user-manual.txt index 565aeb980..86b91a53e 100644 --- a/user-manual.txt +++ b/user-manual.txt @@ -1548,22 +1548,7 @@ dangling tree b24c2473f1fd3d91352a624795be026d64c8841f Dangling objects are not a problem. At worst they may take up a little extra disk space. They can sometimes provide a last-resort method for -recovering lost work--see <> for details. However, if -you wish, you can remove them with linkgit:git-prune[1] or the `--prune` -option to linkgit:git-gc[1]: - -------------------------------------------------- -$ git gc --prune -------------------------------------------------- - -This may be time-consuming. Unlike most other git operations (including -git-gc when run without any options), it is not safe to prune while -other git operations are in progress in the same repository. - -If linkgit:git-fsck[1] complains about sha1 mismatches or missing -objects, you may have a much more serious problem; your best option is -probably restoring from backups. See -<> for a detailed discussion. +recovering lost work--see <> for details. [[recovering-lost-changes]] Recovering lost changes