Differences between revisions 5 and 6
Revision 5 as of 2008-01-06 13:23:40
Size: 2258
Editor: abuehl
Comment: caps in titles, links
Revision 6 as of 2008-01-06 13:35:36
Size: 2274
Editor: abuehl
Comment: wording
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
From this moment on, all commits will get tagged with the supplied branch name. When ["Merge"]ing with another branch, the local branch name takes precedence: From this moment on, all commited ["ChangeSet"]s will get tagged with the supplied branch name. When ["Merge"]ing with another branch, the local branch name takes precedence:

Named branches allow assigning persistent symbolic names to branches of development inside a single ["Repository"].

Create a Branch

To begin a branch, mark your current ["WorkingDirectory"] and then ["Commit"] it:

$ hg branch
$ hg 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

Commit Changes to a Branch

From this moment on, all commited ["ChangeSet"]s will get tagged with the supplied branch name. When ["Merge"]ing 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"], and ["Pull"]. When a branch has multiple ["Head"]s, the ["Tip"]most 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

Switch between Branches

$ hg update -C main
$ hg update -C newfeature

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