.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-BRANCH" "1" "08/02/2007" "Git 1.5.3.rc3.120.g68d422" "Git Manual"
+.TH "GIT\-BRANCH" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
In its second form, a new branch named <branchname> will be created. It will start out with a head equal to the one given as <start\-point>. If no <start\-point> is given, the branch will be created with a head equal to that of the currently checked out branch.
+Note that this will create the new branch, but it will not switch the working tree to it; use "git checkout <newbranch>" to switch to the new branch.
+
When a local branch is started off a remote branch, git can setup the branch so that \fBgit\-pull\fR(1) will appropriately merge from that remote branch. If this behavior is desired, it is possible to make it the default using the global branch.autosetupmerge configuration flag. Otherwise, it can be chosen per\-branch using the \-\-track and \-\-no\-track options.
With a \fI\-m\fR or \fI\-M\fR option, <oldbranch> will be renamed to <newbranch>. If <oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, and a reflog entry is created to remember the branch renaming. If <newbranch> exists, \-M must be used to force the rename to happen.
\-\-no\-abbrev
Display the full sha1s in output listing rather than abbreviating them.
.TP
+\-\-track
+Set up configuration so that git\-pull will automatically retrieve data from the remote branch. Use this if you always pull from the same remote branch into the new branch, or if you don't want to use "git pull <repository> <refspec>" explicitly. Set the branch.autosetupmerge configuration variable to true if you want git\-checkout and git\-branch to always behave as if \fI\-\-track\fR were given.
+.TP
+\-\-no\-track
+When \-b is given and a branch is created off a remote branch, set up configuration so that git\-pull will not retrieve data from the remote branch, ignoring the branch.autosetupmerge configuration variable.
+.TP
<branchname>
The name of the branch to create or delete. The new branch name must pass all checks defined by \fBgit\-check\-ref\-format\fR(1). Some of these checks may restrict the characters allowed in a branch name.
.TP
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-CHECKOUT" "1" "08/21/2007" "Git 1.5.3.rc5.46.g23d5" "Git Manual"
+.TH "GIT\-CHECKOUT" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Create a new branch named <new_branch> and start it at <branch>. The new branch name must pass all checks defined by \fBgit\-check\-ref\-format\fR(1). Some of these checks may restrict the characters allowed in a branch name.
.TP
\-\-track
-When \-b is given and a branch is created off a remote branch, set up configuration so that git\-pull will automatically retrieve data from the remote branch. Set the branch.autosetupmerge configuration variable to true if you want git\-checkout and git\-branch to always behave as if \fI\-\-track\fR were given.
+When \-b is given and a branch is created off a remote branch, set up configuration so that git\-pull will automatically retrieve data from the remote branch. Use this if you always pull from the same remote branch into the new branch, or if you don't want to use "git pull <repository> <refspec>" explicitly. Set the branch.autosetupmerge configuration variable to true if you want git\-checkout and git\-branch to always behave as if \fI\-\-track\fR were given.
.TP
\-\-no\-track
When \-b is given and a branch is created off a remote branch, set up configuration so that git\-pull will not retrieve data from the remote branch, ignoring the branch.autosetupmerge configuration variable.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-CONFIG" "1" "09/15/2007" "Git 1.5.3.1.91.gd3392" "Git Manual"
+.TH "GIT\-CONFIG" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
branch.<name>.merge
When in branch <name>, it tells git fetch the default refspec to be marked for merging in FETCH_HEAD. The value has exactly to match a remote part of one of the refspecs which are fetched from the remote given by "branch.<name>.remote". The merge information is used by git pull (which at first calls git fetch) to lookup the default branch for merging. Without this option, git pull defaults to merge the first refspec fetched. Specify multiple values to get an octopus merge. If you wish to setup git pull so that it merges into <name> from another branch in the local repository, you can point branch.<name>.merge to the desired branch, and use the special setting . (a period) for branch.<name>.remote.
.TP
+branch.<name>.mergeoptions
+Sets default options for merging into branch <name>. The syntax and supported options are equal to that of \fBgit\-merge\fR(1), but option values containing whitespace characters are currently not supported.
+.TP
clean.requireForce
A boolean to make git\-clean do nothing unless given \-f or \-n. Defaults to false.
.TP
gc.aggressiveWindow
The window size parameter used in the delta compression algorithm used by \fIgit gc \-\-aggressive\fR. This defaults to 10.
.TP
+gc.auto
+When there are approximately more than this many loose objects in the repository, git gc \-\-auto will pack them. Some Porcelain commands use this command to perform a light\-weight garbage collection from time to time. Setting this to 0 disables it.
+.TP
+gc.autopacklimit
+When there are more than this many packs that are not marked with *.keep file in the repository, git gc \-\-auto consolidates them into one larger pack. Setting this to 0 disables this.
+.TP
gc.packrefs
git gc does not run git pack\-refs in a bare repository by default so that older dumb\-transport clients can still fetch from the repository. Setting this to true lets git gc to run git pack\-refs. Setting this to false tells git gc never to run git pack\-refs. The default setting is notbare. Enable it only when you know you do not have to support such clients. The default setting will change to true at some stage, and setting this to false will continue to prevent git pack\-refs from being run from git gc.
.TP
Whether to include summaries of merged commits in newly created merge commit messages. False by default.
.TP
merge.tool
-Controls which merge resolution program is used by \fBgit\-mergetool\fR(l). Valid values are: "kdiff3", "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and "opendiff".
+Controls which merge resolution program is used by \fBgit\-mergetool\fR(1). Valid values are: "kdiff3", "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and "opendiff".
.TP
merge.verbosity
Controls the amount of output shown by the recursive merge strategy. Level 0 outputs nothing except a final error message if conflicts were detected. Level 1 outputs only conflicts, 2 outputs conflicts and file changes. Level 5 and above outputs debugging information. The default is level 2. Can be overriden by \fIGIT_MERGE_VERBOSITY\fR environment variable.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-DIFF\-FILES" "1" "07/27/2007" "Git 1.5.3.rc3.13.g7ab3" "Git Manual"
+.TH "GIT\-DIFF\-FILES" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Disable all output of the program. Implies \-\-exit\-code.
.TP
\-\-ext\-diff
-Allow an external diff helper to be executed. If you set an external diff driver with gitlink:gitattributes(5), you need to use this option with gitlink:git\-log(1) and friends.
+Allow an external diff helper to be executed. If you set an external diff driver with \fBgitattributes\fR(5), you need to use this option with \fBgit\-log\fR(1) and friends.
.TP
\-\-no\-ext\-diff
Disallow external diff drivers.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-DIFF\-INDEX" "1" "07/27/2007" "Git 1.5.3.rc3.13.g7ab3" "Git Manual"
+.TH "GIT\-DIFF\-INDEX" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Disable all output of the program. Implies \-\-exit\-code.
.TP
\-\-ext\-diff
-Allow an external diff helper to be executed. If you set an external diff driver with gitlink:gitattributes(5), you need to use this option with gitlink:git\-log(1) and friends.
+Allow an external diff helper to be executed. If you set an external diff driver with \fBgitattributes\fR(5), you need to use this option with \fBgit\-log\fR(1) and friends.
.TP
\-\-no\-ext\-diff
Disallow external diff drivers.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-DIFF\-TREE" "1" "07/27/2007" "Git 1.5.3.rc3.13.g7ab3" "Git Manual"
+.TH "GIT\-DIFF\-TREE" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Disable all output of the program. Implies \-\-exit\-code.
.TP
\-\-ext\-diff
-Allow an external diff helper to be executed. If you set an external diff driver with gitlink:gitattributes(5), you need to use this option with gitlink:git\-log(1) and friends.
+Allow an external diff helper to be executed. If you set an external diff driver with \fBgitattributes\fR(5), you need to use this option with \fBgit\-log\fR(1) and friends.
.TP
\-\-no\-ext\-diff
Disallow external diff drivers.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-DIFF" "1" "08/29/2007" "Git 1.5.3.rc7" "Git Manual"
+.TH "GIT\-DIFF" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Disable all output of the program. Implies \-\-exit\-code.
.TP
\-\-ext\-diff
-Allow an external diff helper to be executed. If you set an external diff driver with gitlink:gitattributes(5), you need to use this option with gitlink:git\-log(1) and friends.
+Allow an external diff helper to be executed. If you set an external diff driver with \fBgitattributes\fR(5), you need to use this option with \fBgit\-log\fR(1) and friends.
.TP
\-\-no\-ext\-diff
Disallow external diff drivers.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-FOR\-EACH\-REF" "1" "07/19/2007" "Git 1.5.3.rc2.19.gc4fba" "Git Manual"
+.TH "GIT\-FOR\-EACH\-REF" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
For sorting purposes, fields with numeric values sort in numeric order (objectsize, authordate, committerdate, taggerdate). All other fields are used to sort in their byte\-value order.
In any case, a field name that refers to a field inapplicable to the object referred by the ref does not cause an error. It returns an empty string instead.
+
+As a special case for the date\-type fields, you may specify a format for the date by adding one of :default, :relative, :short, :local, :iso8601 or :rfc2822 to the end of the fieldname; e.g. %(taggerdate:relative).
.SH "EXAMPLES"
An example directly producing formatted text. Show the most recent 3 tagged commits::
.sp
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-FORMAT\-PATCH" "1" "08/29/2007" "Git 1.5.3.rc7" "Git Manual"
+.TH "GIT\-FORMAT\-PATCH" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
Disable all output of the program. Implies \-\-exit\-code.
.TP
\-\-ext\-diff
-Allow an external diff helper to be executed. If you set an external diff driver with gitlink:gitattributes(5), you need to use this option with gitlink:git\-log(1) and friends.
+Allow an external diff helper to be executed. If you set an external diff driver with \fBgitattributes\fR(5), you need to use this option with \fBgit\-log\fR(1) and friends.
.TP
\-\-no\-ext\-diff
Disallow external diff drivers.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-GC" "1" "07/19/2007" "Git 1.5.3.rc2.19.gc4fba" "Git Manual"
+.TH "GIT\-GC" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
git\-gc \- Cleanup unnecessary files and optimize the local repository
.SH "SYNOPSIS"
-\fIgit\-gc\fR [\-\-prune] [\-\-aggressive]
+\fIgit\-gc\fR [\-\-prune] [\-\-aggressive] [\-\-auto]
.SH "DESCRIPTION"
Runs a number of housekeeping tasks within the current repository, such as compressing file revisions (to reduce disk space and increase performance) and removing unreachable objects which may have been created from prior invocations of \fBgit\-add\fR(1).
.TP
\-\-aggressive
Usually \fIgit\-gc\fR runs very quickly while providing good disk space utilization and performance. This option will cause git\-gc to more aggressively optimize the repository at the expense of taking much more time. The effects of this optimization are persistent, so this option only needs to be used occasionally; every few hundred changesets or so.
+.TP
+\-\-auto
+With this option, git gc checks if there are too many loose objects in the repository and runs \fBgit\-repack\fR(1) with \-d \-l option to pack them. The threshold for loose objects is set with gc.auto configuration variable, and can be disabled by setting it to 0. Some Porcelain commands use this after they perform operation that could create many loose objects automatically. Additionally, when there are too many packs are present, they are consolidated into one larger pack by running the git\-repack command with \-A option. The threshold for number of packs is set with gc.autopacklimit configuration variable.
.SH "CONFIGURATION"
The optional configuration variable \fIgc.reflogExpire\fR can be set to indicate how long historical entries within each branch's reflog should remain available in this repository. The setting is expressed as a length of time, for example \fI90 days\fR or \fI3 months\fR. It defaults to \fI90 days\fR.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-MERGE" "1" "09/30/2007" "Git 1.5.3.3.114.g2a85" "Git Manual"
+.TH "GIT\-MERGE" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\-\-no\-commit
Perform the merge but pretend the merge failed and do not autocommit, to give the user a chance to inspect and further tweak the merge result before committing.
.TP
+\-\-commit
+Perform the merge and commit the result. This option can be used to override \-\-no\-commit.
+.TP
\-\-squash
Produce the working tree and index state as if a real merge happened, but do not actually make a commit or move the HEAD, nor record $GIT_DIR/MERGE_HEAD to cause the next git commit command to create a merge commit. This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus).
.TP
+\-\-no\-squash
+Perform the merge and commit the result. This option can be used to override \-\-squash.
+.TP
+\-\-no\-ff
+Generate a merge commit even if the merge resolved as a fast\-forward.
+.TP
+\-\-ff
+Do not generate a merge commit if the merge resolved as a fast\-forward, only update the branch pointer. This is the default behavior of git\-merge.
+.TP
\-s <strategy>, \-\-strategy=<strategy>
Use the given merge strategy; can be supplied more than once to specify them in the order they should be tried. If there is no \-s option, a built\-in list of strategies is used instead (git\-merge\-recursive when merging a single head, git\-merge\-octopus otherwise).
.TP
.TP
merge.verbosity
Controls the amount of output shown by the recursive merge strategy. Level 0 outputs nothing except a final error message if conflicts were detected. Level 1 outputs only conflicts, 2 outputs conflicts and file changes. Level 5 and above outputs debugging information. The default is level 2. Can be overridden by \fIGIT_MERGE_VERBOSITY\fR environment variable.
+.TP
+branch.<name>.mergeoptions
+Sets default options for merging into branch <name>. The syntax and supported options are equal to that of git\-merge, but option values containing whitespace characters are currently not supported.
.SH "HOW MERGE WORKS"
A merge is always between the current HEAD and one or more remote branch heads, and the index file must exactly match the tree of HEAD commit (i.e. the contents of the last commit) when it happens. In other words, git\-diff \-\-cached HEAD must report no changes.
.sp
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-PULL" "1" "09/01/2007" "Git 1.5.3.rc7.30.g947ad2" "Git Manual"
+.TH "GIT\-PULL" "1" "10/03/2007" "Git 1.5.3.4.203.gcc61a" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\-\-no\-commit
Perform the merge but pretend the merge failed and do not autocommit, to give the user a chance to inspect and further tweak the merge result before committing.
.TP
+\-\-commit
+Perform the merge and commit the result. This option can be used to override \-\-no\-commit.
+.TP
\-\-squash
Produce the working tree and index state as if a real merge happened, but do not actually make a commit or move the HEAD, nor record $GIT_DIR/MERGE_HEAD to cause the next git commit command to create a merge commit. This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus).
.TP
+\-\-no\-squash
+Perform the merge and commit the result. This option can be used to override \-\-squash.
+.TP
+\-\-no\-ff
+Generate a merge commit even if the merge resolved as a fast\-forward.
+.TP
+\-\-ff
+Do not generate a merge commit if the merge resolved as a fast\-forward, only update the branch pointer. This is the default behavior of git\-merge.
+.TP
\-s <strategy>, \-\-strategy=<strategy>
Use the given merge strategy; can be supplied more than once to specify them in the order they should be tried. If there is no \-s option, a built\-in list of strategies is used instead (git\-merge\-recursive when merging a single head, git\-merge\-octopus otherwise).
.TP