You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.9 KiB
Plaintext
114 lines
2.9 KiB
Plaintext
git-new-branch(1)
|
|
=================
|
|
|
|
NAME
|
|
----
|
|
git-new-branch -
|
|
include::_git-new-branch_desc.helper.txt[]
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git new-branch' <branch_name>
|
|
'git new-branch' --upstream_current <branch_name>
|
|
'git new-branch' --upstream <REF> <branch_name>
|
|
'git new-branch' --lkgr <branch_name>
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
Creates a new branch. By default the new branch will track the configured
|
|
upstream for the repo (defaults to 'origin/master'). If one of the other options
|
|
is specified, it will track that other ref instead.
|
|
|
|
Conceptually, each branch in your repo represents one 'Change List (CL)'. If you
|
|
have many independent CLs (i.e. the changes in one do not interact with/depend
|
|
on the changes in another), then you should create them as new branches tracking
|
|
the default upstream (i.e. `git new-branch <branch_name>`). If you have features
|
|
which depend on each other, you should create stacked branches using `git
|
|
new-branch --upstream_current <branch_name>`.
|
|
|
|
OPTIONS
|
|
-------
|
|
|
|
--upstream_current::
|
|
Set the tracking (upstream) branch to the currently-checked-out branch.
|
|
|
|
--uptstream <REF>::
|
|
Set the tracking (upstream) branch to <REF>. <REF> may be a local branch,
|
|
remote branch, or a tag.
|
|
|
|
--lkgr::
|
|
Alias for `--upstream lkgr`.
|
|
|
|
<branch_name>::
|
|
The name for the new branch.
|
|
|
|
|
|
CONFIGURATION VARIABLES
|
|
-----------------------
|
|
|
|
depot-tools.upstream
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
This configures the default 'upstream' for all new branches. If it is unset, it
|
|
defaults to 'origin/master'. This is considered to be the 'root' branch.
|
|
|
|
EXAMPLE
|
|
-------
|
|
|
|
[subs="specialcharacters,quotes,attributes,callouts"]
|
|
----
|
|
[white]**$ git map-branches**
|
|
[red]#origin/master#
|
|
[green]#cool_feature#
|
|
[green]#subfeature#
|
|
[aqua]#frozen_changes *#
|
|
[white]**$ git new-branch independent_cl**
|
|
[white]**$ git map-branches**
|
|
[red]#origin/master#
|
|
[green]#cool_feature#
|
|
[green]#subfeature#
|
|
[green]#frozen_changes#
|
|
[aqua]#independent_cl *#
|
|
[white]**$ git new-branch --upstream subfeature nested_cl**
|
|
[white]**$ git map-branches**
|
|
[red]#origin/master#
|
|
[green]#cool_feature#
|
|
[aqua]#subfeature# <1>
|
|
[aqua]#nested_cl *#
|
|
[green]#frozen_changes#
|
|
[green]#independent_cl#
|
|
[white]**$ git checkout cool_feature**
|
|
[white]**$ git new-branch --upstream_current cl_depends_on_cool_feature**
|
|
[white]**$ git map-branches**
|
|
[red]#origin/master#
|
|
[aqua]#cool_feature#
|
|
[aqua]#cl_depends_on_cool_feature *#
|
|
[green]#subfeature#
|
|
[green]#nested_cl#
|
|
[green]#frozen_changes#
|
|
[green]#independent_cl#
|
|
----
|
|
<1> Note that both branches are cyan because they are currently the same
|
|
'commit' object. See linkgit::git-map-branches[1] for more detail.
|
|
|
|
include::_aliases.txt[]
|
|
|
|
----
|
|
[alias]
|
|
git nb = new-branch
|
|
git tb = new-branch --upstream_current <1>
|
|
----
|
|
<1> mnemonic: tb -> "track branch"
|
|
|
|
|
|
SEE ALSO
|
|
--------
|
|
linkgit:git-rebase-update[1], linkgit:git-reparent-branch[1],
|
|
linkgit:git-rename-branch[1], linkgit:git-upstream-diff[1]
|
|
|
|
include::_footer.txt[]
|
|
|
|
// vim: ft=asciidoc:
|