Differences between revisions 14 and 63 (spanning 49 versions)
Revision 14 as of 2008-12-19 00:10:12
Size: 3732
Comment:
Revision 63 as of 2013-09-03 13:42:16
Size: 482
Editor: DaleneL66
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
}}}

== 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/hgbookch8.html Managing releases and branchy development]

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

----
CategoryHowTo
Beverlee is what guests call me yet unfortunately my husband gonna like it whatsoever. Meter reading is where my primary total wages comes from. What I personally enjoy doing is interior design in addition I've been doing it for quite a long time. Arkansas is where Truly always been paycheck but now I am considering other strategies. http://farm8.staticflickr.com/7330/8847697883_ea451cd19c.jpg Go to my site find out more: http://www.sevdagulu.net/green-wellies-free-shipping/

Beverlee is what guests call me yet unfortunately my husband gonna like it whatsoever. Meter reading is where my primary total wages comes from. What I personally enjoy doing is interior design in addition I've been doing it for quite a long time. Arkansas is where Truly always been paycheck but now I am considering other strategies. http://farm8.staticflickr.com/7330/8847697883_ea451cd19c.jpg Go to my site find out more: http://www.sevdagulu.net/green-wellies-free-shipping/

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