The default set of "refspec" for linkgit:git-push[1]. See
linkgit:git-push[1].
+remote.<name>.mirror::
+ If true, pushing to this remote will automatically behave
+ as if the `\--mirror` option was given on the command line.
+
remote.<name>.skipDefaultUpdate::
If true, this remote will be skipped by default when updating
using the update subcommand of linkgit:git-remote[1].
<h2>SYNOPSIS</h2>\r
<div class="sectionbody">\r
<div class="verseblock">\r
-<div class="content"><em>git-branch</em> [--color | --no-color] [-r | -a]\r
+<div class="content"><em>git-branch</em> [--color | --no-color] [-r | -a] [--merged | --no-merged]\r
[-v [--abbrev=<length> | --no-abbrev]]\r
[--contains <commit>]\r
<em>git-branch</em> [--track | --no-track] [-l] [-f] <branchname> [<start-point>]\r
and option <tt>-a</tt> shows both.\r
With <tt>--contains <commit></tt>, shows only the branches that\r
contains the named commit (in other words, the branches whose\r
-tip commits are descendant of the named commit).</p>\r
+tip commits are descendant of the named commit).\r
+With <tt>--merged</tt>, only branches merged into HEAD will be listed, and\r
+with <tt>--no-merged</tt> only branches not merged into HEAD will be listed.</p>\r
<p>In its second form, a new branch named <branchname> will be created.\r
It will start out with a head equal to the one given as <start-point>.\r
If no <start-point> is given, the branch will be created with a head\r
</p>\r
</dd>\r
<dt>\r
+--contains <commit>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Only list branches which contain the specified commit.\r
+</p>\r
+</dd>\r
+<dt>\r
+--merged\r
+</dt>\r
+<dd>\r
+<p>\r
+ Only list branches which are fully contained by HEAD.\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-merged\r
+</dt>\r
+<dd>\r
+<p>\r
+ Do not list branches which are fully contained by HEAD.\r
+</p>\r
+</dd>\r
+<dt>\r
<branchname>\r
</dt>\r
<dd>\r
<p>If you are creating a branch that you want to immediately checkout, it's\r
easier to use the git checkout command with its <tt>-b</tt> option to create\r
a branch and check it out with a single command.</p>\r
+<p>The options <tt>--contains</tt>, <tt>--merged</tt> and <tt>--no-merged</tt> serves three related\r
+but different purposes:</p>\r
+<ul>\r
+<li>\r
+<p>\r
+<tt>--contains <commit></tt> is used to find all branches which will need\r
+ special attention if <commit> were to be rebased or amended, since those\r
+ branches contain the specified <commit>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<tt>--merged</tt> is used to find all branches which can be safely deleted,\r
+ since those branches are fully contained by HEAD.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<tt>--no-merged</tt> is used to find branches which are candidates for merging\r
+ into HEAD, since those branches are not fully contained by HEAD.\r
+</p>\r
+</li>\r
+</ul>\r
</div>\r
<h2>Author</h2>\r
<div class="sectionbody">\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 28-Feb-2008 00:25:37 UTC\r
+Last updated 06-May-2008 06:34:57 UTC\r
</div>\r
</div>\r
</body>\r
SYNOPSIS
--------
[verse]
-'git-branch' [--color | --no-color] [-r | -a]
+'git-branch' [--color | --no-color] [-r | -a] [--merged | --no-merged]
[-v [--abbrev=<length> | --no-abbrev]]
[--contains <commit>]
'git-branch' [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
With `--contains <commit>`, shows only the branches that
contains the named commit (in other words, the branches whose
tip commits are descendant of the named commit).
+With `--merged`, only branches merged into HEAD will be listed, and
+with `--no-merged` only branches not merged into HEAD will be listed.
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>.
--no-track::
Ignore the branch.autosetupmerge configuration variable.
+--contains <commit>::
+ Only list branches which contain the specified commit.
+
+--merged::
+ Only list branches which are fully contained by HEAD.
+
+--no-merged::
+ Do not list branches which are fully contained by HEAD.
+
<branchname>::
The name of the branch to create or delete.
The new branch name must pass all checks defined by
easier to use the git checkout command with its `-b` option to create
a branch and check it out with a single command.
+The options `--contains`, `--merged` and `--no-merged` serves three related
+but different purposes:
+
+- `--contains <commit>` is used to find all branches which will need
+ special attention if <commit> were to be rebased or amended, since those
+ branches contain the specified <commit>.
+
+- `--merged` is used to find all branches which can be safely deleted,
+ since those branches are fully contained by HEAD.
+
+- `--no-merged` is used to find branches which are candidates for merging
+ into HEAD, since those branches are not fully contained by HEAD.
Author
------
</p>\r
</dd>\r
<dt>\r
+remote.<name>.mirror\r
+</dt>\r
+<dd>\r
+<p>\r
+ If true, pushing to this remote will automatically behave\r
+ as if the <tt>--mirror</tt> option was given on the command line.\r
+</p>\r
+</dd>\r
+<dt>\r
remote.<name>.skipDefaultUpdate\r
</dt>\r
<dd>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 30-Apr-2008 08:42:07 UTC\r
+Last updated 06-May-2008 06:34:57 UTC\r
</div>\r
</div>\r
</body>\r
use "--tag-name-filter cat" to simply update the tags. In this\r
case, be very careful and make sure you have the old tags\r
backed up in case the conversion has run afoul.</p>\r
-<p>Note that there is currently no support for proper rewriting of\r
-tag objects; in layman terms, if the tag has a message or signature\r
-attached, the rewritten tag won't have it. Sorry. (It is by\r
-definition impossible to preserve signatures at any rate.)</p>\r
+<p>Nearly proper rewriting of tag objects is supported. If the tag has\r
+a message attached, a new tag object will be created with the same message,\r
+author, and timestamp. If the tag has a signature attached, the\r
+signature will be stripped. It is by definition impossible to preserve\r
+signatures. The reason this is "nearly" proper, is because ideally if\r
+the tag did not change (points to the same object, has the same name, etc.)\r
+it should retain any signature. That is not the case, signatures will always\r
+be removed, buyer beware. There is also no support for changing the\r
+author or timestamp (or the tag message for that matter). Tags which point\r
+to other tags will be rewritten to point to the underlying commit.</p>\r
</dd>\r
<dt>\r
--subdirectory-filter <directory>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 04-May-2008 06:41:00 UTC\r
+Last updated 06-May-2008 06:34:58 UTC\r
</div>\r
</div>\r
</body>\r
case, be very careful and make sure you have the old tags
backed up in case the conversion has run afoul.
+
-Note that there is currently no support for proper rewriting of
-tag objects; in layman terms, if the tag has a message or signature
-attached, the rewritten tag won't have it. Sorry. (It is by
-definition impossible to preserve signatures at any rate.)
+Nearly proper rewriting of tag objects is supported. If the tag has
+a message attached, a new tag object will be created with the same message,
+author, and timestamp. If the tag has a signature attached, the
+signature will be stripped. It is by definition impossible to preserve
+signatures. The reason this is "nearly" proper, is because ideally if
+the tag did not change (points to the same object, has the same name, etc.)
+it should retain any signature. That is not the case, signatures will always
+be removed, buyer beware. There is also no support for changing the
+author or timestamp (or the tag message for that matter). Tags which point
+to other tags will be rewritten to point to the underlying commit.
--subdirectory-filter <directory>::
Only look at the history which touches the given subdirectory.
be mirrored to the remote repository. Newly created local\r
refs will be pushed to the remote end, locally updated refs\r
will be force updated on the remote end, and deleted refs\r
- will be removed from the remote end.\r
+ will be removed from the remote end. This is the default\r
+ if the configuration option <tt>remote.<remote>.mirror</tt> is\r
+ set.\r
</p>\r
</dd>\r
<dt>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 23-Apr-2008 16:08:37 UTC\r
+Last updated 06-May-2008 06:34:59 UTC\r
</div>\r
</div>\r
</body>\r
be mirrored to the remote repository. Newly created local
refs will be pushed to the remote end, locally updated refs
will be force updated on the remote end, and deleted refs
- will be removed from the remote end.
+ will be removed from the remote end. This is the default
+ if the configuration option `remote.<remote>.mirror` is
+ set.
\--dry-run::
Do everything except actually send the updates.
branch the <tt>HEAD</tt> at the remote repository actually points at.</p>\r
<p>In mirror mode, enabled with <tt>--mirror</tt>, the refs will not be stored\r
in the <em>refs/remotes/</em> namespace, but in <em>refs/heads/</em>. This option\r
-only makes sense in bare repositories.</p>\r
+only makes sense in bare repositories. If a remote uses mirror\r
+mode, furthermore, <tt>git push</tt> will always behave as if <tt>--mirror</tt>\r
+was passed.</p>\r
</dd>\r
<dt>\r
<em>rm</em>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 04-Feb-2008 01:07:25 UTC\r
+Last updated 06-May-2008 06:34:59 UTC\r
</div>\r
</div>\r
</body>\r
up to point at remote's `<master>` branch instead of whatever
branch the `HEAD` at the remote repository actually points at.
+
-In mirror mode, enabled with `--mirror`, the refs will not be stored
+In mirror mode, enabled with `\--mirror`, the refs will not be stored
in the 'refs/remotes/' namespace, but in 'refs/heads/'. This option
-only makes sense in bare repositories.
+only makes sense in bare repositories. If a remote uses mirror
+mode, furthermore, `git push` will always behave as if `\--mirror`
+was passed.
'rm'::
</p>\r
</dd>\r
<dt>\r
+<em>create-ignore</em>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Recursively finds the svn:ignore property on directories and\r
+ creates matching .gitignore files. The resulting files are staged to\r
+ be committed, but are not committed.\r
+</p>\r
+</dd>\r
+<dt>\r
<em>show-ignore</em>\r
</dt>\r
<dd>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 28-Feb-2008 00:25:44 UTC\r
+Last updated 06-May-2008 06:34:59 UTC\r
</div>\r
</div>\r
</body>\r
commit. All merging is assumed to have taken place
independently of git-svn functions.
+'create-ignore'::
+
+ Recursively finds the svn:ignore property on directories and
+ creates matching .gitignore files. The resulting files are staged to
+ be committed, but are not committed.
+
'show-ignore'::
Recursively finds and lists the svn:ignore property on
directories. The output is suitable for appending to
<p>This hook is invoked by <tt>git-merge</tt>, which happens when a <tt>git pull</tt>\r
is done on a local repository. The hook takes a single parameter, a status\r
flag specifying whether or not the merge being done was a squash merge.\r
-This hook cannot affect the outcome of <tt>git-merge</tt>.</p>\r
+This hook cannot affect the outcome of <tt>git-merge</tt> and is not executed,\r
+if the merge failed due to conflicts.</p>\r
<p>This hook can be used in conjunction with a corresponding pre-commit hook to\r
save and restore any form of metadata associated with the working tree\r
(eg: permissions/ownership, ACLS, etc). See contrib/hooks/setgitperms.perl\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 04-May-2008 06:41:00 UTC\r
+Last updated 06-May-2008 06:35:00 UTC\r
</div>\r
</div>\r
</body>\r
This hook is invoked by `git-merge`, which happens when a `git pull`
is done on a local repository. The hook takes a single parameter, a status
flag specifying whether or not the merge being done was a squash merge.
-This hook cannot affect the outcome of `git-merge`.
+This hook cannot affect the outcome of `git-merge` and is not executed,
+if the merge failed due to conflicts.
This hook can be used in conjunction with a corresponding pre-commit hook to
save and restore any form of metadata associated with the working tree
<div class="sectionbody">\r
<p>You may find these things in your git repository (<tt>.git</tt>\r
directory for a repository associated with your working tree, or\r
-<tt><em>project</em>.git</tt> directory for a public <em>bare</em> repository).</p>\r
+<tt><em>project</em>.git</tt> directory for a public <em>bare</em> repository. It is\r
+also possible to have a working tree where <tt>.git</tt> is a plain\r
+ascii file containing <tt>gitdir: <path></tt>, i.e. the path to the\r
+real git repository).</p>\r
<dl>\r
<dt>\r
objects\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 07-Jan-2008 07:51:11 UTC\r
+Last updated 06-May-2008 06:35:00 UTC\r
</div>\r
</div>\r
</body>\r
You may find these things in your git repository (`.git`
directory for a repository associated with your working tree, or
-`'project'.git` directory for a public 'bare' repository).
+`'project'.git` directory for a public 'bare' repository. It is
+also possible to have a working tree where `.git` is a plain
+ascii file containing `gitdir: <path>`, i.e. the path to the
+real git repository).
objects::
Object store associated with this repository. Usually