Differences between revisions 17 and 33 (spanning 16 versions)
Revision 17 as of 2009-05-19 19:30:55
Size: 3830
Editor: localhost
Comment: converted to 1.6 markup
Revision 33 as of 2013-08-30 01:42:30
Size: 525
Editor: NelleThie
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
'''Named branches''' allow assigning persistent symbolic names to [[Branch|branches]] of development inside a single [[Repository|repository]].

== Find What Branch You're On ==
Calling {{{hg branch}}} without a name shows the current branch name of the [[WorkingDirectory|working directory]]. Calling {{{hg branch}}} after a {{{hg init}}} outputs "default", the (reserved) name of the default branch:

{{{
$ hg init
$ hg branch
default
}}}

== Create a Branch ==
To begin a new branch, set the branch name of the working directory and then [[Commit|commit]] it:

{{{
$ hg branch newfeature
marked working directory as branch newfeature
$ hg branch
newfeature
$ hg ci -m "start feature branch"
$ hg parents
changeset: 3899:c08bfc770d37
branch: newfeature
tag: tip
user: Matt Mackall <mpm@selenic.com>
date: Tue Dec 19 14:20:11 2006 -0600
summary: start feature branch
}}}

From this point on, all committed [[ChangeSet|changesets]] will be associated with the supplied branch name.
Unless overridden with the {{{hg branch}}} command, the working directory inherits the branch name associated
with a changeset. This way, a sequence of changesets will typically all have the same branch name.

When Mercurial lists a changeset, it will only show the branch name associated with the changeset
if the branch name differs from the reserved branch name "default".

== Switch Among Branches ==

Switch among branches using the {{{hg update}}} command:

{{{
$ hg update -C main
$ hg update -C newfeature
}}}

The {{{hg update}}} command normally allows updating along a single branch in the history.
Use the {{{-C}}} option to switch to another. '''Note:''' the {{{-C}}} option
also discards local changes, so be careful before using this command.

== Merge Branches ==
When [[Merge|merging]] with another branch, the local branch name takes precedence:

{{{
$ hg branch
newfeature
$ hg in remote
searching for changes
changeset: 3900:3be94ff00829
branch: main
tag: tip
parent: 3898:93e5f07baf75
user: Matt Mackall <mpm@selenic.com>
date: Tue Dec 19 14:26:52 2006 -0600
summary: bug fix

$ hg pull remote
pulling from remote
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg branch
newfeature
}}}

Branch names can be used anywhere that tag names can, including log, diff, [[Push|push]], and [[Pull|pull]]. When a branch has multiple [[Head|heads]], the [[Tip|tipmost]] revision of the branch will be found. Here are some examples:

{{{
$ hg branches
main 3900:3be94ff00829
newfeature 3899:c08bfc770d37
$ hg log -r main
changeset: 3900:3be94ff00829
branch: main
tag: tip
parent: 3898:93e5f07baf75
user: Matt Mackall <mpm@selenic.com>
date: Tue Dec 19 14:26:52 2006 -0600
summary: bug fix
$ hg in -r main ../bd2
searching for changes
no changes found
}}}

== Delete Branches ==
PruningDeadBranches

== Undoing a Bad Merge ==

Mercurial does not yet offer a foolproof way to back out an erroneous merge. The latest information I've been able to find on this matter is at http://stackoverflow.com/questions/265944/backing-out-a-backwards-merge-on-mercurial and is currently marked unresolved.



== Links ==
 * [[http://hgbook.red-bean.com/read/managing-releases-and-branchy-development.html|Managing releases and branchy development]]

See also: [[MultipleHeads]], [[Branch]], [[Bookmarks]]

----
CategoryHowTo
Wen is what people call me but my husband doesn't necessarily like it at all. What I really enjoy doing is simply horse riding and as a result I've been doing it for quite a short time. http://thumbs.dreamstime.com/thumbimg_499/1272602826cCDMii.jpg I used to be unemployed but now i'm a cashier. Minnesota is where I've always been living but now I'm considering other variations. My husband and Partner maintain a webpage. You might want to check it obtainable here: http://www.spacciohogan2013.it/hogan-olympia-uomo-c-2/

Wen is what people call me but my husband doesn't necessarily like it at all. What I really enjoy doing is simply horse riding and as a result I've been doing it for quite a short time. http://thumbs.dreamstime.com/thumbimg_499/1272602826cCDMii.jpg I used to be unemployed but now i'm a cashier. Minnesota is where I've always been living but now I'm considering other variations. My husband and Partner maintain a webpage. You might want to check it obtainable here: http://www.spacciohogan2013.it/hogan-olympia-uomo-c-2/

NamedBranches (last edited 2013-12-26 09:53:26 by Tovim)