123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- '\" t
- .\" Title: git-new-branch
- .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
- .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
- .\" Date: 05/03/2019
- .\" Manual: Chromium depot_tools Manual
- .\" Source: depot_tools e58cce6c
- .\" Language: English
- .\"
- .TH "GIT\-NEW\-BRANCH" "1" "05/03/2019" "depot_tools e58cce6c" "Chromium depot_tools Manual"
- .\" -----------------------------------------------------------------
- .\" * Define some portability stuff
- .\" -----------------------------------------------------------------
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .\" http://bugs.debian.org/507673
- .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\" -----------------------------------------------------------------
- .\" * set default formatting
- .\" -----------------------------------------------------------------
- .\" disable hyphenation
- .nh
- .\" disable justification (adjust text to left margin only)
- .ad l
- .\" -----------------------------------------------------------------
- .\" * MAIN CONTENT STARTS HERE *
- .\" -----------------------------------------------------------------
- .SH "NAME"
- git-new-branch \- Create a new branch with correct tracking information\&.
- .SH "SYNOPSIS"
- .sp
- .nf
- \fIgit new\-branch\fR <branch_name>
- \fIgit new\-branch\fR \-\-upstream_current <branch_name>
- \fIgit new\-branch\fR \-\-upstream <REF> <branch_name>
- \fIgit new\-branch\fR \-\-lkgr <branch_name>
- .fi
- .sp
- .SH "DESCRIPTION"
- .sp
- Creates a new branch\&. By default the new branch will track the configured upstream for the repo (defaults to \fIorigin/master\fR)\&. If one of the other options is specified, it will track that other ref instead\&.
- .sp
- Conceptually, each branch in your repo represents one \fIChange List (CL)\fR\&. 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>\&.
- .SH "OPTIONS"
- .PP
- \-\-upstream_current
- .RS 4
- Set the tracking (upstream) branch to the currently\-checked\-out branch\&.
- .RE
- .PP
- \-\-upstream <REF>
- .RS 4
- Set the tracking (upstream) branch to <REF>\&. <REF> may be a local branch, remote branch, or a tag\&.
- .RE
- .PP
- \-\-lkgr
- .RS 4
- Alias for
- \-\-upstream lkgr\&.
- .RE
- .PP
- <branch_name>
- .RS 4
- The name for the new branch\&.
- .RE
- .SH "CONFIGURATION VARIABLES"
- .SS "depot\-tools\&.upstream"
- .sp
- This configures the default \fIupstream\fR for all new branches\&. If it is unset, it defaults to \fIorigin/master\fR\&. This is considered to be the \fIroot\fR branch\&.
- .SH "EXAMPLE"
- .sp
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- \fB$ git map\-branches \-v\fR
- origin/master
- cool_feature [ ahead 4 ]
- subfeature [ ahead 2 | behind 1 ]
- fixit [ ahead 2 ]
- \fB frozen_branch * [ ahead 3 ]
- $ git new\-branch independent_cl\fR
- \fB$ git map\-branches \-v\fR
- \fBorigin/master
- \fR cool_feature [ ahead 4 ]
- subfeature [ ahead 2 | behind 1 ]
- fixit [ ahead 2 ]
- frozen_branch [ ahead 3 ]
- \fB independent_cl *
- $ vi foo && git add \-A && git commit \-m foo\fR
- \fB$ git map\-branches \-v\fR
- origin/master
- cool_feature [ ahead 4 ]
- subfeature [ ahead 2 | behind 1 ]
- fixit [ ahead 2 ]
- frozen_branch [ ahead 3 ]
- \fB independent_cl * [ ahead 1 ]
- $ git new\-branch \-\-upstream subfeature nested_cl\fR
- \fB$ git map\-branches \-v\fR
- origin/master
- cool_feature [ ahead 4 ]
- \fB subfeature [ ahead 2 | behind 1 ] \fR\fB\fB(1)\fR\fR\fB
- nested_cl *
- \fR fixit [ ahead 2 ]
- frozen_branch [ ahead 3 ]
- independent_cl [ ahead 1 ]
- \fB$ git checkout cool_feature\fR
- Switched to branch \*(Aqcool_feature\*(Aq
- Your branch is ahead of \*(Aqorigin/master\*(Aq by 4 commits\&.
- (use "git push" to publish your local commits)
- \fB$ git new\-branch \-\-upstream_current cl_depends_on_cool_feature\fR
- \fB$ git map\-branches \-v\fR
- origin/master
- \fB cool_feature [ ahead 4 ]
- cl_depends_on_cool_feature *
- \fR subfeature [ ahead 2 | behind 1 ]
- nested_cl
- fixit [ ahead 2 ]
- frozen_branch [ ahead 3 ]
- independent_cl [ ahead 1 ]
- .fi
- .if n \{\
- .RE
- .\}
- .sp
- .sp
- .RS 4
- .ie n \{\
- \h'-04' 1.\h'+01'\c
- .\}
- .el \{\
- .sp -1
- .IP " 1." 4.2
- .\}
- Note that both branches are cyan because they are currently the same
- \fIcommit\fR
- object\&. See
- \fBgit-map-branches\fR(1)
- for more detail\&.
- .RE
- .SH "SUGGESTED ALIASES"
- .sp
- Some common short\-hand aliases\&. Feel free to add these to your \fI~/\&.gitconfig\fR file\&.
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- [alias]
- git nb = new\-branch
- git tb = new\-branch \-\-upstream_current \fB(1)\fR
- .fi
- .if n \{\
- .RE
- .\}
- .sp
- .sp
- \fB1. \fRmnemonic: tb \(-> "track branch"
- .br
- .SH "SEE ALSO"
- .sp
- \fBgit-rebase-update\fR(1), \fBgit-reparent-branch\fR(1), \fBgit-rename-branch\fR(1), \fBgit-upstream-diff\fR(1)
- .SH "CHROMIUM DEPOT_TOOLS"
- .sp
- Part of the chromium \fBdepot_tools\fR(7) suite\&. These tools are meant to assist with the development of chromium and related projects\&. Download the tools from \m[blue]\fBhere\fR\m[]\&\s-2\u[1]\d\s+2\&.
- .SH "NOTES"
- .IP " 1." 4
- here
- .RS 4
- \%https://chromium.googlesource.com/chromium/tools/depot_tools.git
- .RE
|