Size: 2584
Comment: See also: MultipleHeads
|
Size: 2661
Comment: links
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
'''Named branches''' allow assigning persistent symbolic names to branches of development inside a single ["Repository"]. | '''Named branches''' allow assigning persistent symbolic names to [:Branch:branches] of development inside a single [:Repository:repository]. |
Line 4: | Line 4: |
Calling {{{hg branch}}} without a name shows the current branch name of the ["WorkingDirectory"]. Calling {{{hg branch}}} after a {{{hg init}}} outputs "default", the (reserved) name of the default branch: | 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: |
Line 11: | Line 11: |
To begin a branch, set the branch name of the working directory and then ["Commit"] it: | To begin a branch, set the branch name of the working directory and then [:Commit:commit] it: |
Line 29: | Line 29: |
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: | From this moment on, all commited [:ChangeSet:changesets] will get [:Tag:tagged] with the supplied branch name. When [:Merge:merging] with another branch, the local branch name takes precedence: |
Line 59: | Line 59: |
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: | 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: |
Line 87: | Line 87: |
See also: MultipleHeads | See also: [:MultipleHeads] |
Named branches allow assigning persistent symbolic names to [:Branch:branches] of development inside a single [:Repository:repository].
Create a Branch
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 branch default
To begin a 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
Commit Changes to a Branch
From this moment on, all commited [:ChangeSet:changesets] will get [:Tag:tagged] with the supplied branch name. 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
Switch between Branches
$ hg update -C main $ hg update -C newfeature
Links
[http://hgbook.red-bean.com/hgbookch8.html Managing releases and branchy development]
See also: [:MultipleHeads]