1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.5.2" />
7 <title>git-branch(
1)
</title>
8 <style type=
"text/css">
10 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
12 border: 1px solid red;
17 margin: 1em 5% 1em 5%;
22 text-decoration: underline
;
42 h1
, h2
, h3
, h4
, h5
, h6
{
44 font-family: sans-serif
;
51 border-bottom: 2px solid silver
;
69 border: 1px solid silver
;
88 font-family: sans-serif
;
94 span#revnumber
, span#revdate
, span#revremark
{
95 font-family: sans-serif
;
99 font-family: sans-serif
;
101 border-top: 2px solid silver
;
107 padding-bottom: 0.5em;
111 padding-bottom: 0.5em;
116 margin-bottom: 1.5em;
118 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
119 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
120 div
.admonitionblock
{
122 margin-bottom: 1.5em;
124 div
.admonitionblock
{
126 margin-bottom: 2.0em;
131 div
.content
{ /* Block element content. */
135 /* Block element titles. */
136 div
.title
, caption
.title
{
138 font-family: sans-serif
;
142 margin-bottom: 0.5em;
148 td div
.title:first-child
{
151 div
.content div
.title:first-child
{
154 div
.content
+ div
.title
{
158 div
.sidebarblock
> div
.content
{
160 border: 1px solid silver
;
164 div
.listingblock
> div
.content
{
165 border: 1px solid silver
;
170 div
.quoteblock
, div
.verseblock
{
174 border-left: 5px solid
#dddddd;
178 div
.quoteblock
> div
.attribution
{
183 div
.verseblock
> div
.content
{
186 div
.verseblock
> div
.attribution
{
190 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
191 div
.verseblock
+ div
.attribution
{
195 div
.admonitionblock
.icon
{
199 text-decoration: underline
;
201 padding-right: 0.5em;
203 div
.admonitionblock td
.content
{
205 border-left: 3px solid
#dddddd;
208 div
.exampleblock
> div
.content
{
209 border-left: 3px solid
#dddddd;
213 div
.imageblock div
.content
{ padding-left: 0; }
214 span
.image img
{ border-style: none
; }
215 a
.image:visited
{ color: white
; }
219 margin-bottom: 0.8em;
232 list-style-position: outside
;
235 list-style-type: decimal
;
238 list-style-type: lower-alpha
;
241 list-style-type: upper-alpha
;
244 list-style-type: lower-roman
;
247 list-style-type: upper-roman
;
250 div
.compact ul
, div
.compact ol
,
251 div
.compact p
, div
.compact p
,
252 div
.compact div
, div
.compact div
{
254 margin-bottom: 0.1em;
257 div
.tableblock
> table
{
258 border: 3px solid
#527bbd;
260 thead
, p
.table
.header
{
261 font-family: sans-serif
;
273 /* Because the table frame attribute is overriden by CSS in most browsers. */
274 div
.tableblock
> table
[frame
="void"] {
277 div
.tableblock
> table
[frame
="hsides"] {
278 border-left-style: none
;
279 border-right-style: none
;
281 div
.tableblock
> table
[frame
="vsides"] {
282 border-top-style: none
;
283 border-bottom-style: none
;
289 margin-bottom: 0.8em;
292 padding-bottom: 15px;
294 dt
.hdlist1
.strong
, td
.hdlist1
.strong
{
300 padding-right: 0.8em;
306 div
.hdlist
.compact tr
{
315 .footnote, .footnoteref {
319 span
.footnote
, span
.footnoteref
{
320 vertical-align: super
;
324 margin: 20px 0 20px 0;
328 #footnotes div
.footnote
{
334 border-top: 1px solid silver
;
344 div#footer-badges
{ display: none
; }
348 margin-bottom: 2.5em;
353 font-family: sans-serif
;
357 margin-bottom: 0.1em;
360 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
376 /* Overrides for manpage documents */
379 padding-bottom: 0.5em;
380 border-top: 2px solid silver
;
381 border-bottom: 2px solid silver
;
391 div#toc
{ display: none
; }
394 /* Workarounds for IE6's broken and incomplete CSS2. */
396 div
.sidebar-content
{
398 border: 1px solid silver
;
401 div
.sidebar-title
, div
.image-title
{
403 font-family: sans-serif
;
406 margin-bottom: 0.5em;
409 div
.listingblock div
.content
{
410 border: 1px solid silver
;
415 div
.quoteblock-attribution
{
420 div
.verseblock-content
{
423 div
.verseblock-attribution
{
428 div
.exampleblock-content
{
429 border-left: 3px solid
#dddddd;
433 /* IE6 sets dynamically generated links as visited. */
434 div#toc
a:visited
{ color: blue
; }
436 <script type=
"text/javascript">
438 window
.onload = function(){asciidoc
.footnotes();}
439 var asciidoc
= { // Namespace.
441 /////////////////////////////////////////////////////////////////////
442 // Table Of Contents generator
443 /////////////////////////////////////////////////////////////////////
445 /* Author: Mihai Bazon, September 2002
446 * http://students.infoiasi.ro/~mishoo
448 * Table Of Content generator
451 * Feel free to use this script under the terms of the GNU General Public
452 * License, as long as you do not remove or alter this notice.
455 /* modified by Troy D. Hanson, September 2006. License: GPL */
456 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
459 toc: function (toclevels
) {
461 function getText(el
) {
463 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
464 if (i
.nodeType
== 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
466 else if (i
.firstChild
!= null)
472 function TocEntry(el
, text
, toclevel
) {
475 this.toclevel
= toclevel
;
478 function tocEntries(el
, toclevels
) {
479 var result
= new Array
;
480 var re
= new RegExp('[hH]([2-'+(toclevels
+1)+'])');
481 // Function that scans the DOM tree for header elements (the DOM2
482 // nodeIterator API would be a better technique but not supported by all
484 var iterate = function (el
) {
485 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
486 if (i
.nodeType
== 1 /* Node.ELEMENT_NODE */) {
487 var mo
= re
.exec(i
.tagName
);
488 if (mo
&& (i
.getAttribute("class") || i
.getAttribute("className")) != "float") {
489 result
[result
.length
] = new TocEntry(i
, getText(i
), mo
[1]-1);
499 var toc
= document
.getElementById("toc");
500 var entries
= tocEntries(document
.getElementById("content"), toclevels
);
501 for (var i
= 0; i
< entries
.length
; ++i
) {
502 var entry
= entries
[i
];
503 if (entry
.element
.id
== "")
504 entry
.element
.id
= "_toc_" + i
;
505 var a
= document
.createElement("a");
506 a
.href
= "#" + entry
.element
.id
;
507 a
.appendChild(document
.createTextNode(entry
.text
));
508 var div
= document
.createElement("div");
510 div
.className
= "toclevel" + entry
.toclevel
;
511 toc
.appendChild(div
);
513 if (entries
.length
== 0)
514 toc
.parentNode
.removeChild(toc
);
518 /////////////////////////////////////////////////////////////////////
519 // Footnotes generator
520 /////////////////////////////////////////////////////////////////////
522 /* Based on footnote generation code from:
523 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
526 footnotes: function () {
527 var cont
= document
.getElementById("content");
528 var noteholder
= document
.getElementById("footnotes");
529 var spans
= cont
.getElementsByTagName("span");
532 for (i
=0; i
<spans
.length
; i
++) {
533 if (spans
[i
].className
== "footnote") {
535 // Use [\s\S] in place of . so multi-line matches work.
536 // Because JavaScript has no s (dotall) regex flag.
537 note
= spans
[i
].innerHTML
.match(/\s*\[([\s\S]*)]\s*/)[1];
538 noteholder
.innerHTML
+=
539 "<div class='footnote' id='_footnote_" + n
+ "'>" +
540 "<a href='#_footnoteref_" + n
+ "' title='Return to text'>" +
541 n
+ "</a>. " + note
+ "</div>";
543 "[<a id='_footnoteref_" + n
+ "' href='#_footnote_" + n
+
544 "' title='View footnote' class='footnote'>" + n
+ "</a>]";
545 var id
=spans
[i
].getAttribute("id");
546 if (id
!= null) refs
["#"+id
] = n
;
550 noteholder
.parentNode
.removeChild(noteholder
);
552 // Process footnoterefs.
553 for (i
=0; i
<spans
.length
; i
++) {
554 if (spans
[i
].className
== "footnoteref") {
555 var href
= spans
[i
].getElementsByTagName("a")[0].getAttribute("href");
556 href
= href
.match(/#.*/)[0]; // Because IE return full URL.
559 "[<a href='#_footnote_" + n
+
560 "' title='View footnote' class='footnote'>" + n
+ "</a>]";
573 git-branch(
1) Manual Page
576 <div class=
"sectionbody">
578 List, create, or delete branches
583 <h2 id=
"_synopsis">SYNOPSIS
</h2>
584 <div class=
"sectionbody">
585 <div class=
"verseblock">
586 <div class=
"verseblock-content"><em>git branch
</em> [--color[=
<when
>] | --no-color] [-r | -a]
587 [--list] [-v [--abbrev=
<length
> | --no-abbrev]]
588 [(--merged | --no-merged | --contains) [
<commit
>]] [
<pattern
>…]
589 <em>git branch
</em> [--set-upstream | --track | --no-track] [-l] [-f]
<branchname
> [
<start-point
>]
590 <em>git branch
</em> (-m | -M) [
<oldbranch
>]
<newbranch
>
591 <em>git branch
</em> (-d | -D) [-r]
<branchname
>…</div>
592 <div class=
"verseblock-attribution">
595 <h2 id=
"_description">DESCRIPTION
</h2>
596 <div class=
"sectionbody">
597 <div class=
"paragraph"><p>With no arguments, existing branches are listed and the current branch will
598 be highlighted with an asterisk. Option
<tt>-r
</tt> causes the remote-tracking
599 branches to be listed, and option
<tt>-a
</tt> shows both. This list mode is also
600 activated by the
<tt>--list
</tt> option (see below).
601 <pattern
> restricts the output to matching branches, the pattern is a shell
602 wildcard (i.e., matched using fnmatch(
3))
603 Multiple patterns may be given; if any of them matches, the tag is shown.
</p></div>
604 <div class=
"paragraph"><p>With
<tt>--contains
</tt>, shows only the branches that contain the named commit
605 (in other words, the branches whose tip commits are descendants of the
606 named commit). With
<tt>--merged
</tt>, only branches merged into the named
607 commit (i.e. the branches whose tip commits are reachable from the named
608 commit) will be listed. With
<tt>--no-merged
</tt> only branches not merged into
609 the named commit will be listed. If the
<commit
> argument is missing it
610 defaults to
<em>HEAD
</em> (i.e. the tip of the current branch).
</p></div>
611 <div class=
"paragraph"><p>The command
’s second form creates a new branch head named
<branchname
>
612 which points to the current
<em>HEAD
</em>, or
<start-point
> if given.
</p></div>
613 <div class=
"paragraph"><p>Note that this will create the new branch, but it will not switch the
614 working tree to it; use
"git checkout <newbranch>" to switch to the
615 new branch.
</p></div>
616 <div class=
"paragraph"><p>When a local branch is started off a remote-tracking branch, git sets up the
617 branch so that
<em>git pull
</em> will appropriately merge from
618 the remote-tracking branch. This behavior may be changed via the global
619 <tt>branch.autosetupmerge
</tt> configuration flag. That setting can be
620 overridden by using the
<tt>--track
</tt> and
<tt>--no-track
</tt> options, and
621 changed later using
<tt>git branch --set-upstream
</tt>.
</p></div>
622 <div class=
"paragraph"><p>With a
<em>-m
</em> or
<em>-M
</em> option,
<oldbranch
> will be renamed to
<newbranch
>.
623 If
<oldbranch
> had a corresponding reflog, it is renamed to match
624 <newbranch
>, and a reflog entry is created to remember the branch
625 renaming. If
<newbranch
> exists, -M must be used to force the rename
627 <div class=
"paragraph"><p>With a
<tt>-d
</tt> or
<tt>-D
</tt> option,
<tt><branchname
></tt> will be deleted. You may
628 specify more than one branch for deletion. If the branch currently
629 has a reflog then the reflog will also be deleted.
</p></div>
630 <div class=
"paragraph"><p>Use -r together with -d to delete remote-tracking branches. Note, that it
631 only makes sense to delete remote-tracking branches if they no longer exist
632 in the remote repository or if
<em>git fetch
</em> was configured not to fetch
633 them again. See also the
<em>prune
</em> subcommand of
<a href=
"git-remote.html">git-remote(
1)
</a> for a
634 way to clean up all obsolete remote-tracking branches.
</p></div>
636 <h2 id=
"_options">OPTIONS
</h2>
637 <div class=
"sectionbody">
638 <div class=
"dlist"><dl>
647 Delete a branch. The branch must be fully merged in its
648 upstream branch, or in
<tt>HEAD
</tt> if no upstream was set with
649 <tt>--track
</tt> or
<tt>--set-upstream
</tt>.
657 Delete a branch irrespective of its merged status.
668 Create the branch
’s reflog. This activates recording of
669 all changes made to the branch ref, enabling use of date
670 based sha1 expressions such as
"<branchname>@{yesterday}".
671 Note that in non-bare repositories, reflogs are usually
672 enabled by default by the
<tt>core.logallrefupdates
</tt> config option.
683 Reset
<branchname
> to
<startpoint
> if
<branchname
> exists
684 already. Without
<tt>-f
</tt> <em>git branch
</em> refuses to change an existing branch.
695 Move/rename a branch and the corresponding reflog.
703 Move/rename a branch even if the new branch name already exists.
707 --color[=
<when
>]
711 Color branches to highlight current, local, and
712 remote-tracking branches.
713 The value must be always (the default), never, or auto.
721 Turn off branch colors, even when the configuration file gives the
722 default to color output.
723 Same as
<tt>--color=never
</tt>.
734 List or delete (if used with -d) the remote-tracking branches.
745 List both remote-tracking branches and local branches.
753 Activate the list mode.
<tt>git branch
<pattern
></tt> would try to create a branch,
754 use
<tt>git branch --list
<pattern
></tt> to list matching branches.
766 show sha1 and commit subject line for each head, along with
767 relationship to upstream branch (if any). If given twice, print
768 the name of the upstream branch, as well.
772 --abbrev=
<length
>
776 Alter the sha1
’s minimum display length in the output listing.
777 The default value is
7 and can be overridden by the
<tt>core.abbrev
</tt>
786 Display the full sha1s in the output listing rather than abbreviating them.
797 When creating a new branch, set up configuration to mark the
798 start-point branch as
"upstream" from the new branch. This
799 configuration will tell git to show the relationship between the
800 two branches in
<tt>git status
</tt> and
<tt>git branch -v
</tt>. Furthermore,
801 it directs
<tt>git pull
</tt> without arguments to pull from the
802 upstream when the new branch is checked out.
804 <div class=
"paragraph"><p>This behavior is the default when the start point is a remote-tracking branch.
805 Set the branch.autosetupmerge configuration variable to
<tt>false
</tt> if you
806 want
<tt>git checkout
</tt> and
<tt>git branch
</tt> to always behave as if
<em>--no-track
</em>
807 were given. Set it to
<tt>always
</tt> if you want this behavior when the
808 start-point is either a local or remote-tracking branch.
</p></div>
815 Do not set up
"upstream" configuration, even if the
816 branch.autosetupmerge configuration variable is true.
824 If specified branch does not exist yet or if
<em>--force
</em> has been
825 given, acts exactly like
<em>--track
</em>. Otherwise sets up configuration
826 like
<em>--track
</em> would when creating the branch, except that where
827 branch points to is not changed.
831 --contains
<commit
>
835 Only list branches which contain the specified commit.
839 --merged [
<commit
>]
843 Only list branches whose tips are reachable from the
844 specified commit (HEAD if not specified).
848 --no-merged [
<commit
>]
852 Only list branches whose tips are not reachable from the
853 specified commit (HEAD if not specified).
861 The name of the branch to create or delete.
862 The new branch name must pass all checks defined by
863 <a href=
"git-check-ref-format.html">git-check-ref-format(
1)
</a>. Some of these checks
864 may restrict the characters allowed in a branch name.
872 The new branch head will point to this commit. It may be
873 given as a branch name, a commit-id, or a tag. If this
874 option is omitted, the current HEAD will be used instead.
882 The name of an existing branch to rename.
890 The new name for an existing branch. The same restrictions as for
891 <branchname
> apply.
896 <h2 id=
"_examples">Examples
</h2>
897 <div class=
"sectionbody">
898 <div class=
"dlist"><dl>
900 Start development from a known tag
903 <div class=
"listingblock">
904 <div class=
"content">
905 <pre><tt>$ git clone git://git.kernel.org/pub/scm/.../linux-
2.6 my2.6
907 $ git branch my2.6
.14 v2.6
.14 <b><1></b>
908 $ git checkout my2.6
.14</tt></pre>
910 <div class=
"colist arabic"><ol>
913 This step and the next one could be combined into a single step with
914 "checkout -b my2.6.14 v2.6.14".
920 Delete an unneeded branch
923 <div class=
"listingblock">
924 <div class=
"content">
925 <pre><tt>$ git clone git://git.kernel.org/.../git.git my.git
927 $ git branch -d -r origin/todo origin/html origin/man
<b><1></b>
928 $ git branch -D test
<b><2></b></tt></pre>
930 <div class=
"colist arabic"><ol>
933 Delete the remote-tracking branches
"todo",
"html" and
"man". The next
934 <em>fetch
</em> or
<em>pull
</em> will create them again unless you configure them not to.
935 See
<a href=
"git-fetch.html">git-fetch(
1)
</a>.
940 Delete the
"test" branch even if the
"master" branch (or whichever branch
941 is currently checked out) does not have all commits from the test branch.
948 <h2 id=
"_notes">Notes
</h2>
949 <div class=
"sectionbody">
950 <div class=
"paragraph"><p>If you are creating a branch that you want to checkout immediately, it is
951 easier to use the git checkout command with its
<tt>-b
</tt> option to create
952 a branch and check it out with a single command.
</p></div>
953 <div class=
"paragraph"><p>The options
<tt>--contains
</tt>,
<tt>--merged
</tt> and
<tt>--no-merged
</tt> serve three related
954 but different purposes:
</p></div>
955 <div class=
"ulist"><ul>
958 <tt>--contains
<commit
></tt> is used to find all branches which will need
959 special attention if
<commit
> were to be rebased or amended, since those
960 branches contain the specified
<commit
>.
965 <tt>--merged
</tt> is used to find all branches which can be safely deleted,
966 since those branches are fully contained by HEAD.
971 <tt>--no-merged
</tt> is used to find branches which are candidates for merging
972 into HEAD, since those branches are not fully contained by HEAD.
977 <h2 id=
"_see_also">SEE ALSO
</h2>
978 <div class=
"sectionbody">
979 <div class=
"paragraph"><p><a href=
"git-check-ref-format.html">git-check-ref-format(
1)
</a>,
980 <a href=
"git-fetch.html">git-fetch(
1)
</a>,
981 <a href=
"git-remote.html">git-remote(
1)
</a>,
982 <a href=
"user-manual.html#what-is-a-branch">“Understanding history: What is
983 a branch?
”</a> in the Git User
’s Manual.
</p></div>
985 <h2 id=
"_git">GIT
</h2>
986 <div class=
"sectionbody">
987 <div class=
"paragraph"><p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p></div>
990 <div id=
"footnotes"><hr /></div>
992 <div id=
"footer-text">
993 Last updated
2011-
10-
05 13:
59:
16 PDT