1 8797b228 2019-08-04 stsp <!DOCTYPE html>
3 8797b228 2019-08-04 stsp <!-- This is an automatically generated file. Do not edit.
4 8797b228 2019-08-04 stsp Copyright (c) 2017 Martin Pieuchot
5 8797b228 2019-08-04 stsp Copyright (c) 2018, 2019 Stefan Sperling
7 8797b228 2019-08-04 stsp Permission to use, copy, modify, and distribute this software for any
8 8797b228 2019-08-04 stsp purpose with or without fee is hereby granted, provided that the above
9 8797b228 2019-08-04 stsp copyright notice and this permission notice appear in all copies.
11 8797b228 2019-08-04 stsp THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 8797b228 2019-08-04 stsp WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 8797b228 2019-08-04 stsp MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 8797b228 2019-08-04 stsp ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 8797b228 2019-08-04 stsp WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 8797b228 2019-08-04 stsp ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 8797b228 2019-08-04 stsp OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 8797b228 2019-08-04 stsp <meta charset="utf-8"/>
22 8797b228 2019-08-04 stsp table.head, table.foot { width: 100%; }
23 8797b228 2019-08-04 stsp td.head-rtitle, td.foot-os { text-align: right; }
24 8797b228 2019-08-04 stsp td.head-vol { text-align: center; }
25 8797b228 2019-08-04 stsp div.Pp { margin: 1ex 0ex; }
26 8797b228 2019-08-04 stsp div.Nd, div.Bf, div.Op { display: inline; }
27 8797b228 2019-08-04 stsp span.Pa, span.Ad { font-style: italic; }
28 8797b228 2019-08-04 stsp span.Ms { font-weight: bold; }
29 8797b228 2019-08-04 stsp dl.Bl-diag > dt { font-weight: bold; }
30 8797b228 2019-08-04 stsp code.Nm, code.Fl, code.Cm, code.Ic, code.In, code.Fd, code.Fn,
31 8797b228 2019-08-04 stsp code.Cd { font-weight: bold; font-family: inherit; }
33 8797b228 2019-08-04 stsp <title>GOT(1)</title>
36 8797b228 2019-08-04 stsp <table class="head">
38 8797b228 2019-08-04 stsp <td class="head-ltitle">GOT(1)</td>
39 8797b228 2019-08-04 stsp <td class="head-vol">General Commands Manual</td>
40 8797b228 2019-08-04 stsp <td class="head-rtitle">GOT(1)</td>
43 8797b228 2019-08-04 stsp <div class="manual-text">
44 8797b228 2019-08-04 stsp <section class="Sh">
45 8797b228 2019-08-04 stsp <h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
46 8797b228 2019-08-04 stsp <code class="Nm">got</code> —
47 ae520cae 2019-08-05 stsp <div class="Nd">Game of Trees</div>
49 8797b228 2019-08-04 stsp <section class="Sh">
50 8797b228 2019-08-04 stsp <h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
51 8797b228 2019-08-04 stsp <table class="Nm">
53 8797b228 2019-08-04 stsp <td><code class="Nm">got</code></td>
54 8797b228 2019-08-04 stsp <td><var class="Ar">command</var> [<code class="Fl">-h</code>]
55 8797b228 2019-08-04 stsp [<var class="Ar">arg ...</var>]</td>
59 8797b228 2019-08-04 stsp <section class="Sh">
60 8797b228 2019-08-04 stsp <h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
61 8797b228 2019-08-04 stsp <code class="Nm">got</code> is a version control system which stores the history
62 8797b228 2019-08-04 stsp of tracked files in a Git repository, as used by the Git version control
63 8797b228 2019-08-04 stsp system. This repository format is described in
64 8797b228 2019-08-04 stsp <a class="Xr">git-repository(5)</a>.
65 8797b228 2019-08-04 stsp <p class="Pp"><code class="Nm">got</code> is a “distributed”
66 8797b228 2019-08-04 stsp version control system because every copy of a repository is writeable.
67 8797b228 2019-08-04 stsp Modifications made to files can be synchronized between repositories at any
69 8797b228 2019-08-04 stsp <p class="Pp">Files managed by <code class="Nm">got</code> must be checked out
70 8797b228 2019-08-04 stsp from the repository for modification. Checked out files are stored in a
71 8797b228 2019-08-04 stsp <i class="Em">work tree</i> which can be placed at an arbitrary directory in
72 8797b228 2019-08-04 stsp the filesystem hierarchy. The on-disk format of this work tree is described
73 8797b228 2019-08-04 stsp in <a class="Xr">got-worktree(5)</a>.</p>
74 8797b228 2019-08-04 stsp <p class="Pp"><code class="Nm">got</code> provides global and command-specific
75 8797b228 2019-08-04 stsp options. Global options must preceed the command name, and are as
76 8797b228 2019-08-04 stsp follows:</p>
77 8797b228 2019-08-04 stsp <dl class="Bl-tag">
78 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#h"><code class="Fl" id="h">-h</code></a></dt>
79 ae520cae 2019-08-05 stsp <dd>Display usage information and exit immediately.</dd>
80 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#V"><code class="Fl" id="V">-V</code></a></dt>
81 8797b228 2019-08-04 stsp <dd>Display program version and exit immediately.</dd>
83 8797b228 2019-08-04 stsp <p class="Pp">The commands for <code class="Nm">got</code> are as follows:</p>
84 8797b228 2019-08-04 stsp <dl class="Bl-tag">
85 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#init"><code class="Cm" id="init">init</code></a>
86 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
87 8797b228 2019-08-04 stsp <dd>Create a new empty repository at the specified
88 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var>.
89 8797b228 2019-08-04 stsp <p class="Pp">After <code class="Cm">got init</code>, the
90 8797b228 2019-08-04 stsp <code class="Cm">got import</code> command must be used to populate the
91 8797b228 2019-08-04 stsp empty repository before <code class="Cm">got checkout</code> can be
94 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#in"><code class="Cm" id="in">in</code></a></dt>
95 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">init</code>.</dd>
96 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#import"><code class="Cm" id="import">import</code></a>
97 8797b228 2019-08-04 stsp [<code class="Fl">-b</code> <var class="Ar">branch</var>]
98 8797b228 2019-08-04 stsp [<code class="Fl">-m</code> <var class="Ar">message</var>]
99 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
100 8797b228 2019-08-04 stsp [<code class="Fl">-I</code> <var class="Ar">pattern</var>]
101 8797b228 2019-08-04 stsp <var class="Ar">directory</var></dt>
102 8797b228 2019-08-04 stsp <dd>Create an initial commit in a repository from the file hierarchy within
103 8797b228 2019-08-04 stsp the specified <var class="Ar">directory</var>. The created commit will not
104 8797b228 2019-08-04 stsp have any parent commits, i.e. it will be a root commit. Also create a new
105 8797b228 2019-08-04 stsp reference which provides a branch name for the newly created commit. Show
106 8797b228 2019-08-04 stsp the path of each imported file to indicate progress.
107 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got import</code> command requires the
108 8797b228 2019-08-04 stsp <code class="Ev">GOT_AUTHOR</code> environment variable to be set.</p>
109 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got import</code> are as
110 8797b228 2019-08-04 stsp follows:</p>
111 8797b228 2019-08-04 stsp <dl class="Bl-tag">
112 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#b"><code class="Fl" id="b">-b</code></a>
113 8797b228 2019-08-04 stsp <var class="Ar">branch</var></dt>
114 8797b228 2019-08-04 stsp <dd>Create the specified <var class="Ar">branch</var> instead of creating
115 8797b228 2019-08-04 stsp the default branch “master”. Use of this option is
116 8797b228 2019-08-04 stsp required if the “master” branch already exists.</dd>
117 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#m"><code class="Fl" id="m">-m</code></a>
118 8797b228 2019-08-04 stsp <var class="Ar">message</var></dt>
119 8797b228 2019-08-04 stsp <dd>Use the specified log message when creating the new commit. Without
120 8797b228 2019-08-04 stsp the <code class="Fl">-m</code> option, <code class="Cm">got
121 8797b228 2019-08-04 stsp import</code> opens a temporary file in an editor where a log message
122 8797b228 2019-08-04 stsp can be written.</dd>
123 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r"><code class="Fl" id="r">-r</code></a>
124 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
125 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
126 8797b228 2019-08-04 stsp repository is located at or above the current working directory.</dd>
127 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#I"><code class="Fl" id="I">-I</code></a>
128 8797b228 2019-08-04 stsp <var class="Ar">pattern</var></dt>
129 8797b228 2019-08-04 stsp <dd>Ignore files or directories with a name which matches the specified
130 8797b228 2019-08-04 stsp <var class="Ar">pattern</var>. This option may be specified multiple
131 8797b228 2019-08-04 stsp times to build a list of ignore patterns. The
132 8797b228 2019-08-04 stsp <var class="Ar">pattern</var> follows the globbing rules documented in
133 8797b228 2019-08-04 stsp <a class="Xr">glob(7)</a>.</dd>
136 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#im"><code class="Cm" id="im">im</code></a></dt>
137 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">import</code>.</dd>
138 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#checkout"><code class="Cm" id="checkout">checkout</code></a>
139 8797b228 2019-08-04 stsp [<code class="Fl">-b</code> <var class="Ar">branch</var>]
140 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
141 8797b228 2019-08-04 stsp [<code class="Fl">-p</code> <var class="Ar">path-prefix</var>]
142 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var>
143 8797b228 2019-08-04 stsp [<var class="Ar">work-tree-path</var>]</dt>
144 8797b228 2019-08-04 stsp <dd>Copy files from a repository into a new work tree. If the
145 8797b228 2019-08-04 stsp <var class="Ar">work tree path</var> is not specified, either use the last
146 8797b228 2019-08-04 stsp component of <var class="Ar">repository path</var>, or if a
147 8797b228 2019-08-04 stsp <var class="Ar">path prefix</var> was specified use the last component of
148 8797b228 2019-08-04 stsp <var class="Ar">path prefix</var>.
149 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got checkout</code> are as
150 8797b228 2019-08-04 stsp follows:</p>
151 8797b228 2019-08-04 stsp <dl class="Bl-tag">
152 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#b_2"><code class="Fl" id="b_2">-b</code></a>
153 8797b228 2019-08-04 stsp <var class="Ar">branch</var></dt>
154 8797b228 2019-08-04 stsp <dd>Check out files from a commit on the specified
155 8797b228 2019-08-04 stsp <var class="Ar">branch</var>. If this option is not specified, a
156 8797b228 2019-08-04 stsp branch resolved via the repository's HEAD reference will be used.</dd>
157 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c"><code class="Fl" id="c">-c</code></a>
158 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
159 8797b228 2019-08-04 stsp <dd>Check out files from the specified <var class="Ar">commit</var> on the
160 8797b228 2019-08-04 stsp selected branch. The expected argument is a commit ID SHA1 hash or an
161 8797b228 2019-08-04 stsp existing reference which will be resolved to a commit ID. An
162 8797b228 2019-08-04 stsp abbreviated hash argument will be expanded to a full SHA1 hash
163 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique. If this option is
164 8797b228 2019-08-04 stsp not specified, the most recent commit on the selected branch will be
166 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#p"><code class="Fl" id="p">-p</code></a>
167 8797b228 2019-08-04 stsp <var class="Ar">path-prefix</var></dt>
168 8797b228 2019-08-04 stsp <dd>Restrict the work tree to a subset of the repository's tree hierarchy.
169 8797b228 2019-08-04 stsp Only files beneath the specified <var class="Ar">path-prefix</var>
170 8797b228 2019-08-04 stsp will be checked out.</dd>
173 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#co"><code class="Cm" id="co">co</code></a></dt>
174 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">checkout</code>.</dd>
175 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#update"><code class="Cm" id="update">update</code></a>
176 8797b228 2019-08-04 stsp [<code class="Fl">-b</code> <var class="Ar">branch</var>]
177 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
178 8797b228 2019-08-04 stsp [<var class="Ar">path ...</var>]</dt>
179 8797b228 2019-08-04 stsp <dd>Update an existing work tree to a different commit. Show the status of
180 8797b228 2019-08-04 stsp each affected file, using the following status codes:
181 8797b228 2019-08-04 stsp <table class="Bl-column">
184 8797b228 2019-08-04 stsp <td>file was updated and contained no local changes</td>
188 8797b228 2019-08-04 stsp <td>file was updated and local changes were merged cleanly</td>
192 8797b228 2019-08-04 stsp <td>file was updated and conflicts occurred during merge</td>
196 8797b228 2019-08-04 stsp <td>file was deleted</td>
200 8797b228 2019-08-04 stsp <td>new file was added</td>
204 8797b228 2019-08-04 stsp <td>versioned file is obstructed by a non-regular file</td>
208 8797b228 2019-08-04 stsp <td>a missing versioned file was restored</td>
211 8797b228 2019-08-04 stsp <p class="Pp">If no <var class="Ar">path</var> is specified, update the
212 8797b228 2019-08-04 stsp entire work tree. Otherwise, restrict the update operation to files at
213 8797b228 2019-08-04 stsp or within the specified paths. Each path is required to exist in the
214 8797b228 2019-08-04 stsp update operation's target commit. Files in the work tree outside
215 8797b228 2019-08-04 stsp specified paths will remain unchanged and will retain their previously
216 8797b228 2019-08-04 stsp recorded base commit. Some <code class="Nm">got</code> commands may
217 8797b228 2019-08-04 stsp refuse to run while the work tree contains files from multiple base
218 8797b228 2019-08-04 stsp commits. The base commit of such a work tree can be made consistent by
219 8797b228 2019-08-04 stsp running <code class="Cm">got update</code> across the entire work tree.
220 8797b228 2019-08-04 stsp Specifying a <var class="Ar">path</var> is incompatible with the
221 8797b228 2019-08-04 stsp <code class="Fl">-b</code> option.</p>
222 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got update</code> cannot update paths with
223 8797b228 2019-08-04 stsp staged changes. If changes have been staged with <code class="Cm">got
224 8797b228 2019-08-04 stsp stage</code>, these changes must first be comitted with
225 8797b228 2019-08-04 stsp <code class="Cm">got commit</code> or unstaged with <code class="Cm">got
226 8797b228 2019-08-04 stsp unstage</code>.</p>
227 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got update</code> are as
228 8797b228 2019-08-04 stsp follows:</p>
229 8797b228 2019-08-04 stsp <dl class="Bl-tag">
230 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#b_3"><code class="Fl" id="b_3">-b</code></a>
231 8797b228 2019-08-04 stsp <var class="Ar">branch</var></dt>
232 8797b228 2019-08-04 stsp <dd>Switch the work tree's branch reference to the specified
233 8797b228 2019-08-04 stsp <var class="Ar">branch</var> before updating the work tree. This
234 8797b228 2019-08-04 stsp option requires that all paths in the work tree are updated.</dd>
235 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_2"><code class="Fl" id="c_2">-c</code></a>
236 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
237 8797b228 2019-08-04 stsp <dd>Update the work tree to the specified <var class="Ar">commit</var>.
238 8797b228 2019-08-04 stsp The expected argument is a commit ID SHA1 hash or an existing
239 8797b228 2019-08-04 stsp reference which will be resolved to a commit ID. An abbreviated hash
240 8797b228 2019-08-04 stsp argument will be expanded to a full SHA1 hash automatically, provided
241 8797b228 2019-08-04 stsp the abbreviation is unique. If this option is not specified, the most
242 8797b228 2019-08-04 stsp recent commit on the work tree's branch will be used.</dd>
245 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#up"><code class="Cm" id="up">up</code></a></dt>
246 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">update</code>.</dd>
247 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#status"><code class="Cm" id="status">status</code></a>
248 8797b228 2019-08-04 stsp [<var class="Ar">path ...</var>]</dt>
249 8797b228 2019-08-04 stsp <dd>Show the current modification status of files in a work tree, using the
250 8797b228 2019-08-04 stsp following status codes:
251 8797b228 2019-08-04 stsp <table class="Bl-column">
254 8797b228 2019-08-04 stsp <td>modified file</td>
258 8797b228 2019-08-04 stsp <td>file scheduled for addition in next commit</td>
262 8797b228 2019-08-04 stsp <td>file scheduled for deletion in next commit</td>
266 8797b228 2019-08-04 stsp <td>modified or added file which contains merge conflicts</td>
270 8797b228 2019-08-04 stsp <td>versioned file was expected on disk but is missing</td>
274 8797b228 2019-08-04 stsp <td>versioned file is obstructed by a non-regular file</td>
278 8797b228 2019-08-04 stsp <td>unversioned item not tracked by <code class="Nm">got</code></td>
281 8797b228 2019-08-04 stsp <p class="Pp">If no <var class="Ar">path</var> is specified, show
282 8797b228 2019-08-04 stsp modifications in the entire work tree. Otherwise, show modifications at
283 8797b228 2019-08-04 stsp or within the specified paths.</p>
284 8797b228 2019-08-04 stsp <p class="Pp">If changes have been staged with <code class="Cm">got
285 8797b228 2019-08-04 stsp stage</code>, staged changes are shown in the second output column,
286 8797b228 2019-08-04 stsp using the following status codes:</p>
287 8797b228 2019-08-04 stsp <table class="Bl-column">
290 8797b228 2019-08-04 stsp <td>file modification is staged</td>
294 8797b228 2019-08-04 stsp <td>file addition is staged</td>
298 8797b228 2019-08-04 stsp <td>file deletion is staged</td>
301 8797b228 2019-08-04 stsp <p class="Pp">If a path has staged changes, modification status of files
302 8797b228 2019-08-04 stsp shown in the first output column is relative to the staged changes:</p>
303 8797b228 2019-08-04 stsp <table class="Bl-column">
305 8797b228 2019-08-04 stsp <td>MM</td>
306 8797b228 2019-08-04 stsp <td>modified file was modified again after being staged</td>
309 8797b228 2019-08-04 stsp <td>MA</td>
310 8797b228 2019-08-04 stsp <td>added file was modified after being staged</td>
314 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#st"><code class="Cm" id="st">st</code></a></dt>
315 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">status</code>.</dd>
316 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#log"><code class="Cm" id="log">log</code></a>
317 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
318 8797b228 2019-08-04 stsp [<code class="Fl">-C</code> <var class="Ar">number</var>]
319 8797b228 2019-08-04 stsp [<code class="Fl">-f</code>] [<code class="Fl">-l</code>
320 8797b228 2019-08-04 stsp <var class="Ar">N</var>] [<code class="Fl">-p</code>]
321 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
322 8797b228 2019-08-04 stsp [<var class="Ar">path</var>]</dt>
323 8797b228 2019-08-04 stsp <dd>Display history of a repository. If a <var class="Ar">path</var> is
324 8797b228 2019-08-04 stsp specified, show only commits which modified this path.
325 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got log</code> are as
326 8797b228 2019-08-04 stsp follows:</p>
327 8797b228 2019-08-04 stsp <dl class="Bl-tag">
328 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_3"><code class="Fl" id="c_3">-c</code></a>
329 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
330 8797b228 2019-08-04 stsp <dd>Start traversing history at the specified
331 8797b228 2019-08-04 stsp <var class="Ar">commit</var>. The expected argument is a commit ID
332 8797b228 2019-08-04 stsp SHA1 hash or an existing reference which will be resolved to a commit
333 8797b228 2019-08-04 stsp ID. An abbreviated hash argument will be expanded to a full SHA1 hash
334 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique. If this option is
335 8797b228 2019-08-04 stsp not specified, default to the work tree's current branch if invoked in
336 8797b228 2019-08-04 stsp a work tree, or to the repository's HEAD reference.</dd>
337 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#C"><code class="Fl" id="C">-C</code></a>
338 8797b228 2019-08-04 stsp <var class="Ar">number</var></dt>
339 8797b228 2019-08-04 stsp <dd>Set the number of context lines shown in diffs with
340 8797b228 2019-08-04 stsp <code class="Fl">-p</code>. By default, 3 lines of context are
341 8797b228 2019-08-04 stsp shown.</dd>
342 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#f"><code class="Fl" id="f">-f</code></a></dt>
343 8797b228 2019-08-04 stsp <dd>Restrict history traversal to the first parent of each commit. This
344 8797b228 2019-08-04 stsp shows the linear history of the current branch only. Merge commits
345 8797b228 2019-08-04 stsp which affected the current branch will be shown but individual commits
346 8797b228 2019-08-04 stsp which originated on other branches will be omitted.</dd>
347 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l"><code class="Fl" id="l">-l</code></a>
348 8797b228 2019-08-04 stsp <var class="Ar">N</var></dt>
349 8797b228 2019-08-04 stsp <dd>Limit history traversal to a given number of commits.</dd>
350 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#p_2"><code class="Fl" id="p_2">-p</code></a></dt>
351 8797b228 2019-08-04 stsp <dd>Display the patch of modifications made in each commit.</dd>
352 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_2"><code class="Fl" id="r_2">-r</code></a>
353 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
354 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
355 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
356 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
357 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
360 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#diff"><code class="Cm" id="diff">diff</code></a>
361 8797b228 2019-08-04 stsp [<code class="Fl">-C</code> <var class="Ar">number</var>]
362 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
363 8797b228 2019-08-04 stsp [<code class="Fl">-s</code>] [<var class="Ar">object1</var>
364 8797b228 2019-08-04 stsp <var class="Ar">object2</var> | <var class="Ar">path</var>]</dt>
365 8797b228 2019-08-04 stsp <dd>When invoked within a work tree with less than two arguments, display
366 8797b228 2019-08-04 stsp uncommitted changes in the work tree. If a <var class="Ar">path</var> is
367 8797b228 2019-08-04 stsp specified, only show changes within this path.
368 8797b228 2019-08-04 stsp <p class="Pp">If two arguments are provided, treat each argument as a
369 8797b228 2019-08-04 stsp reference, or an object ID SHA1 hash, and display differences between
370 8797b228 2019-08-04 stsp these objects. Both objects must be of the same type (blobs, trees, or
371 8797b228 2019-08-04 stsp commits). An abbreviated hash argument will be expanded to a full SHA1
372 8797b228 2019-08-04 stsp hash automatically, provided the abbreviation is unique.</p>
373 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got diff</code> are as
374 8797b228 2019-08-04 stsp follows:</p>
375 8797b228 2019-08-04 stsp <dl class="Bl-tag">
376 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#C_2"><code class="Fl" id="C_2">-C</code></a>
377 8797b228 2019-08-04 stsp <var class="Ar">number</var></dt>
378 8797b228 2019-08-04 stsp <dd>Set the number of context lines shown in the diff. By default, 3 lines
379 8797b228 2019-08-04 stsp of context are shown.</dd>
380 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_3"><code class="Fl" id="r_3">-r</code></a>
381 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
382 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
383 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
384 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
385 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
386 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#s"><code class="Fl" id="s">-s</code></a></dt>
387 8797b228 2019-08-04 stsp <dd>Show changes staged with <code class="Cm">got stage</code> instead of
388 8797b228 2019-08-04 stsp showing local changes. This option is only valid when
389 8797b228 2019-08-04 stsp <code class="Cm">got diff</code> is invoked in a work tree.</dd>
392 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#di"><code class="Cm" id="di">di</code></a></dt>
393 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">diff</code>.</dd>
394 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#blame"><code class="Cm" id="blame">blame</code></a>
395 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
396 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
397 8797b228 2019-08-04 stsp <var class="Ar">path</var></dt>
398 8797b228 2019-08-04 stsp <dd>Display line-by-line history of a file at the specified path.
399 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got blame</code> are as
400 8797b228 2019-08-04 stsp follows:</p>
401 8797b228 2019-08-04 stsp <dl class="Bl-tag">
402 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_4"><code class="Fl" id="c_4">-c</code></a>
403 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
404 8797b228 2019-08-04 stsp <dd>Start traversing history at the specified
405 8797b228 2019-08-04 stsp <var class="Ar">commit</var>. The expected argument is a commit ID
406 8797b228 2019-08-04 stsp SHA1 hash or an existing reference which will be resolved to a commit
407 8797b228 2019-08-04 stsp ID. An abbreviated hash argument will be expanded to a full SHA1 hash
408 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique.</dd>
409 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_4"><code class="Fl" id="r_4">-r</code></a>
410 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
411 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
412 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
413 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
414 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
417 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#bl"><code class="Cm" id="bl">bl</code></a></dt>
418 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">blame</code>.</dd>
419 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#tree"><code class="Cm" id="tree">tree</code></a>
420 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
421 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
422 8797b228 2019-08-04 stsp [<code class="Fl">-i</code>] [<code class="Fl">-R]</code>
423 8797b228 2019-08-04 stsp [<var class="Ar">path</var>]</dt>
424 8797b228 2019-08-04 stsp <dd>Display a listing of files and directories at the specified directory path
425 8797b228 2019-08-04 stsp in the repository. Entries shown in this listing may carry one of the
426 8797b228 2019-08-04 stsp following trailing annotations:
427 8797b228 2019-08-04 stsp <table class="Bl-column">
430 8797b228 2019-08-04 stsp <td>entry is a directory</td>
434 8797b228 2019-08-04 stsp <td>entry is an executable file</td>
437 8797b228 2019-08-04 stsp <p class="Pp">If no <var class="Ar">path</var> is specified, list the
438 8797b228 2019-08-04 stsp repository path corresponding to the current directory of the work tree,
439 8797b228 2019-08-04 stsp or the root directory of the repository if there is no work tree.</p>
440 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got tree</code> are as
441 8797b228 2019-08-04 stsp follows:</p>
442 8797b228 2019-08-04 stsp <dl class="Bl-tag">
443 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_5"><code class="Fl" id="c_5">-c</code></a>
444 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
445 8797b228 2019-08-04 stsp <dd>List files and directories as they appear in the specified
446 8797b228 2019-08-04 stsp <var class="Ar">commit</var>. The expected argument is a commit ID
447 8797b228 2019-08-04 stsp SHA1 hash or an existing reference which will be resolved to a commit
448 8797b228 2019-08-04 stsp ID. An abbreviated hash argument will be expanded to a full SHA1 hash
449 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique.</dd>
450 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_5"><code class="Fl" id="r_5">-r</code></a>
451 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
452 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
453 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
454 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
455 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
456 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#i"><code class="Fl" id="i">-i</code></a></dt>
457 8797b228 2019-08-04 stsp <dd>Show object IDs of files (blob objects) and directories (tree
458 8797b228 2019-08-04 stsp objects).</dd>
459 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#R"><code class="Fl" id="R">-R</code></a></dt>
460 8797b228 2019-08-04 stsp <dd>Recurse into sub-directories in the repository.</dd>
463 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#tr"><code class="Cm" id="tr">tr</code></a></dt>
464 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">tree</code>.</dd>
465 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#ref"><code class="Cm" id="ref">ref</code></a>
466 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
467 8797b228 2019-08-04 stsp [<code class="Fl">-l</code>] [<code class="Fl">-d</code>
468 8797b228 2019-08-04 stsp <var class="Ar">name</var>] [<var class="Ar">name</var>
469 8797b228 2019-08-04 stsp <var class="Ar">target</var>]</dt>
470 8797b228 2019-08-04 stsp <dd>Manage references in a repository.
471 8797b228 2019-08-04 stsp <p class="Pp">If no options are passed, expect two arguments and attempt to
472 8797b228 2019-08-04 stsp create, or update, the reference with the given
473 8797b228 2019-08-04 stsp <var class="Ar">name</var>, and make it point at the given
474 8797b228 2019-08-04 stsp <var class="Ar">target</var>. The target may be an object ID SHA1 hash
475 8797b228 2019-08-04 stsp or an existing reference which will be resolved to an object ID. An
476 8797b228 2019-08-04 stsp abbreviated hash argument will be expanded to a full SHA1 hash
477 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique.</p>
478 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got ref</code> are as
479 8797b228 2019-08-04 stsp follows:</p>
480 8797b228 2019-08-04 stsp <dl class="Bl-tag">
481 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_6"><code class="Fl" id="r_6">-r</code></a>
482 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
483 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
484 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
485 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
486 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
487 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l_2"><code class="Fl" id="l_2">-l</code></a></dt>
488 8797b228 2019-08-04 stsp <dd>List all existing references in the repository.</dd>
489 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#d"><code class="Fl" id="d">-d</code></a>
490 8797b228 2019-08-04 stsp <var class="Ar">name</var></dt>
491 8797b228 2019-08-04 stsp <dd>Delete the reference with the specified name from the repository.</dd>
494 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#branch"><code class="Cm" id="branch">branch</code></a>
495 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
496 8797b228 2019-08-04 stsp [<code class="Fl">-l</code>] [<code class="Fl">-d</code>
497 8797b228 2019-08-04 stsp <var class="Ar">name</var>] [<var class="Ar">name</var>
498 8797b228 2019-08-04 stsp [<var class="Ar">base-branch</var>]]</dt>
499 8797b228 2019-08-04 stsp <dd>Manage branches in a repository.
500 8797b228 2019-08-04 stsp <p class="Pp">Branches are managed via references which live in the
501 8797b228 2019-08-04 stsp “refs/heads/” reference namespace. The
502 8797b228 2019-08-04 stsp <code class="Cm">got branch</code> command operates on references in
503 8797b228 2019-08-04 stsp this namespace only.</p>
504 8797b228 2019-08-04 stsp <p class="Pp">If no options are passed, expect one or two arguments and
505 8797b228 2019-08-04 stsp attempt to create a branch with the given <var class="Ar">name</var>,
506 8797b228 2019-08-04 stsp and make it point at the given <var class="Ar">base-branch</var>. If no
507 8797b228 2019-08-04 stsp <var class="Ar">base-branch</var> is specified, default to the work
508 8797b228 2019-08-04 stsp tree's current branch if invoked in a work tree, or to the repository's
509 8797b228 2019-08-04 stsp HEAD reference.</p>
510 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got branch</code> are as
511 8797b228 2019-08-04 stsp follows:</p>
512 8797b228 2019-08-04 stsp <dl class="Bl-tag">
513 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_7"><code class="Fl" id="r_7">-r</code></a>
514 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
515 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
516 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
517 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
518 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
519 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l_3"><code class="Fl" id="l_3">-l</code></a></dt>
520 8797b228 2019-08-04 stsp <dd>List all existing branches in the repository. If invoked in a work
521 8797b228 2019-08-04 stsp tree, the work tree's current branch is shown with one the following
522 8797b228 2019-08-04 stsp annotations:
523 8797b228 2019-08-04 stsp <table class="Bl-column">
526 8797b228 2019-08-04 stsp <td>work tree's base commit matches the branch tip</td>
530 8797b228 2019-08-04 stsp <td>work tree's base commit is out-of-date</td>
534 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#d_2"><code class="Fl" id="d_2">-d</code></a>
535 8797b228 2019-08-04 stsp <var class="Ar">name</var></dt>
536 8797b228 2019-08-04 stsp <dd>Delete the branch with the specified name from the repository. Only
537 8797b228 2019-08-04 stsp the branch reference is deleted. Any commit, tree, and blob objects
538 8797b228 2019-08-04 stsp belonging to the branch remain in the repository and may be removed
539 8797b228 2019-08-04 stsp separately with Git's garbage collector.</dd>
542 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#br"><code class="Cm" id="br">br</code></a></dt>
543 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">branch</code>.</dd>
544 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#add"><code class="Cm" id="add">add</code></a>
545 8797b228 2019-08-04 stsp <var class="Ar">file-path ...</var></dt>
546 8797b228 2019-08-04 stsp <dd>Schedule unversioned files in a work tree for addition to the repository
547 8797b228 2019-08-04 stsp in the next commit.</dd>
548 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#remove"><code class="Cm" id="remove">remove</code></a>
549 8797b228 2019-08-04 stsp <var class="Ar">file-path ...</var></dt>
550 8797b228 2019-08-04 stsp <dd>Remove versioned files from a work tree and schedule them for deletion
551 8797b228 2019-08-04 stsp from the repository in the next commit.
552 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got remove</code> are as
553 8797b228 2019-08-04 stsp follows:</p>
554 8797b228 2019-08-04 stsp <dl class="Bl-tag">
555 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#f_2"><code class="Fl" id="f_2">-f</code></a></dt>
556 8797b228 2019-08-04 stsp <dd>Perform the operation even if a file contains uncommitted
557 8797b228 2019-08-04 stsp modifications.</dd>
560 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rm"><code class="Cm" id="rm">rm</code></a></dt>
561 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">remove</code>.</dd>
562 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#revert"><code class="Cm" id="revert">revert</code></a>
563 8797b228 2019-08-04 stsp <var class="Ar">file-path ...</var></dt>
564 8797b228 2019-08-04 stsp <dd>Revert any uncommited changes in files at the specified paths. File
565 8797b228 2019-08-04 stsp contents will be overwritten with those contained in the work tree's base
566 8797b228 2019-08-04 stsp commit. There is no way to bring discarded changes back after
567 8797b228 2019-08-04 stsp <code class="Cm">got revert</code>!
568 8797b228 2019-08-04 stsp <p class="Pp">If a file was added with <code class="Cm">got add</code> it
569 8797b228 2019-08-04 stsp will become an unversioned file again. If a file was deleted with
570 8797b228 2019-08-04 stsp <code class="Cm">got remove</code> it will be restored.</p>
572 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rv"><code class="Cm" id="rv">rv</code></a></dt>
573 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">revert</code>.</dd>
574 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#commit"><code class="Cm" id="commit">commit</code></a>
575 8797b228 2019-08-04 stsp [<code class="Fl">-m</code> <var class="Ar">message</var>]
576 8797b228 2019-08-04 stsp [<var class="Ar">path ...</var>]</dt>
577 8797b228 2019-08-04 stsp <dd>Create a new commit in the repository from changes in a work tree and use
578 8797b228 2019-08-04 stsp this commit as the new base commit for the work tree. If no
579 8797b228 2019-08-04 stsp <var class="Ar">path</var> is specified, commit all changes in the work
580 8797b228 2019-08-04 stsp tree. Otherwise, commit changes at or within the specified paths.
581 8797b228 2019-08-04 stsp <p class="Pp">If changes have been explicitly staged for commit with
582 8797b228 2019-08-04 stsp <code class="Cm">got stage,</code> only commit staged changes and reject
583 8797b228 2019-08-04 stsp any specified paths which have not been staged.</p>
584 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
585 8797b228 2019-08-04 stsp status codes:</p>
586 8797b228 2019-08-04 stsp <table class="Bl-column">
589 8797b228 2019-08-04 stsp <td>modified file</td>
593 8797b228 2019-08-04 stsp <td>file was deleted</td>
597 8797b228 2019-08-04 stsp <td>new file was added</td>
600 ae520cae 2019-08-05 stsp <p class="Pp">Files which are not part of the new commit will retain their
601 ae520cae 2019-08-05 stsp previously recorded base commit. Some <code class="Nm">got</code>
602 ae520cae 2019-08-05 stsp commands may refuse to run while the work tree contains files from
603 ae520cae 2019-08-05 stsp multiple base commits. The base commit of such a work tree can be made
604 ae520cae 2019-08-05 stsp consistent by running <code class="Cm">got update</code> across the
605 ae520cae 2019-08-05 stsp entire work tree.</p>
606 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got commit</code> command requires the
607 8797b228 2019-08-04 stsp <code class="Ev">GOT_AUTHOR</code> environment variable to be set.</p>
608 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got commit</code> are as
609 8797b228 2019-08-04 stsp follows:</p>
610 8797b228 2019-08-04 stsp <dl class="Bl-tag">
611 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#m_2"><code class="Fl" id="m_2">-m</code></a>
612 8797b228 2019-08-04 stsp <var class="Ar">message</var></dt>
613 8797b228 2019-08-04 stsp <dd>Use the specified log message when creating the new commit. Without
614 8797b228 2019-08-04 stsp the <code class="Fl">-m</code> option, <code class="Cm">got
615 8797b228 2019-08-04 stsp commit</code> opens a temporary file in an editor where a log message
616 8797b228 2019-08-04 stsp can be written.</dd>
618 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got commit</code> will refuse to run if
619 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree's current branch is
620 8797b228 2019-08-04 stsp not in the “refs/heads/” reference namespace, new commits
621 8797b228 2019-08-04 stsp may not be created on this branch. Local changes may only be committed
622 8797b228 2019-08-04 stsp if they are based on file content found in the most recent commit on the
623 8797b228 2019-08-04 stsp work tree's branch. If a path is found to be out of date,
624 8797b228 2019-08-04 stsp <code class="Cm">got update</code> must be used first in order to merge
625 8797b228 2019-08-04 stsp local changes with changes made in the repository.</p>
627 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#ci"><code class="Cm" id="ci">ci</code></a></dt>
628 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">commit</code>.</dd>
629 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#cherrypick"><code class="Cm" id="cherrypick">cherrypick</code></a>
630 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
631 8797b228 2019-08-04 stsp <dd>Merge changes from a single <var class="Ar">commit</var> into the work
632 8797b228 2019-08-04 stsp tree. The specified <var class="Ar">commit</var> must be on a different
633 8797b228 2019-08-04 stsp branch than the work tree's base commit. The expected argument is a
634 8797b228 2019-08-04 stsp reference or a commit ID SHA1 hash. An abbreviated hash argument will be
635 8797b228 2019-08-04 stsp expanded to a full SHA1 hash automatically, provided the abbreviation is
637 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
638 8797b228 2019-08-04 stsp status codes:</p>
639 8797b228 2019-08-04 stsp <table class="Bl-column">
642 8797b228 2019-08-04 stsp <td>file was merged</td>
646 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
650 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
654 8797b228 2019-08-04 stsp <td>file was deleted</td>
658 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
662 8797b228 2019-08-04 stsp <td>new file was added</td>
666 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
669 8797b228 2019-08-04 stsp <p class="Pp">The merged changes will appear as local changes in the work
670 8797b228 2019-08-04 stsp tree, which may be viewed with <code class="Cm">got diff</code>, amended
671 8797b228 2019-08-04 stsp manually or with further <code class="Cm">got cherrypick</code> comands,
672 8797b228 2019-08-04 stsp committed with <code class="Cm">got commit</code>, or discarded again
673 8797b228 2019-08-04 stsp with <code class="Cm">got revert</code>.</p>
674 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got cherrypick</code> will refuse to run if
675 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree contains multiple
676 8797b228 2019-08-04 stsp base commits it must first be updated to a single base commit with
677 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If the work tree already contains
678 8797b228 2019-08-04 stsp files with merge conflicts, these conflicts must be resolved first.</p>
680 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#cy"><code class="Cm" id="cy">cy</code></a></dt>
681 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">cherrypick</code>.</dd>
682 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#backout"><code class="Cm" id="backout">backout</code></a>
683 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
684 8797b228 2019-08-04 stsp <dd>Reverse-merge changes from a single <var class="Ar">commit</var> into the
685 8797b228 2019-08-04 stsp work tree. The specified <var class="Ar">commit</var> must be on the same
686 8797b228 2019-08-04 stsp branch as the work tree's base commit. The expected argument is a
687 8797b228 2019-08-04 stsp reference or a commit ID SHA1 hash. An abbreviated hash argument will be
688 8797b228 2019-08-04 stsp expanded to a full SHA1 hash automatically, provided the abbreviation is
690 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
691 8797b228 2019-08-04 stsp status codes:</p>
692 8797b228 2019-08-04 stsp <table class="Bl-column">
695 8797b228 2019-08-04 stsp <td>file was merged</td>
699 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
703 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
707 8797b228 2019-08-04 stsp <td>file was deleted</td>
711 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
715 8797b228 2019-08-04 stsp <td>new file was added</td>
719 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
722 8797b228 2019-08-04 stsp <p class="Pp">The reverse-merged changes will appear as local changes in the
723 8797b228 2019-08-04 stsp work tree, which may be viewed with <code class="Cm">got diff</code>,
724 8797b228 2019-08-04 stsp amended manually or with further <code class="Cm">got backout</code>
725 8797b228 2019-08-04 stsp comands, committed with <code class="Cm">got commit</code>, or discarded
726 8797b228 2019-08-04 stsp again with <code class="Cm">got revert</code>.</p>
727 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got backout</code> will refuse to run if
728 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree contains multiple
729 8797b228 2019-08-04 stsp base commits it must first be updated to a single base commit with
730 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If the work tree already contains
731 8797b228 2019-08-04 stsp files with merge conflicts, these conflicts must be resolved first.</p>
733 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#bo"><code class="Cm" id="bo">bo</code></a></dt>
734 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">backout</code>.</dd>
735 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rebase"><code class="Cm" id="rebase">rebase</code></a>
736 8797b228 2019-08-04 stsp [<code class="Fl">-a</code>] [<code class="Fl">-c]</code>
737 8797b228 2019-08-04 stsp [<var class="Ar">branch</var>]</dt>
738 8797b228 2019-08-04 stsp <dd>Rebase commits on the specified <var class="Ar">branch</var> onto the tip
739 8797b228 2019-08-04 stsp of the current branch of the work tree. The <var class="Ar">branch</var>
740 8797b228 2019-08-04 stsp must share common ancestry with the work tree's current branch. Rebasing
741 8797b228 2019-08-04 stsp begins with the first descendent commit of the youngest common ancestor
742 8797b228 2019-08-04 stsp commit shared by the specified <var class="Ar">branch</var> and the work
743 8797b228 2019-08-04 stsp tree's current branch, and stops once the tip commit of the specified
744 8797b228 2019-08-04 stsp <var class="Ar">branch</var> has been rebased.
745 8797b228 2019-08-04 stsp <p class="Pp">Rebased commits are accumulated on a temporary branch which
746 8797b228 2019-08-04 stsp the work tree will remain switched to throughout the entire rebase
747 8797b228 2019-08-04 stsp operation. Commits on this branch represent the same changes with the
748 8797b228 2019-08-04 stsp same log messages as their counterparts on the original
749 8797b228 2019-08-04 stsp <var class="Ar">branch</var>, but with different commit IDs. Once
750 8797b228 2019-08-04 stsp rebasing has completed successfully, the temporary branch becomes the
751 8797b228 2019-08-04 stsp new version of the specified <var class="Ar">branch</var> and the work
752 8797b228 2019-08-04 stsp tree is automatically switched to it.</p>
753 8797b228 2019-08-04 stsp <p class="Pp">While rebasing commits, show the status of each affected file,
754 8797b228 2019-08-04 stsp using the following status codes:</p>
755 8797b228 2019-08-04 stsp <table class="Bl-column">
758 8797b228 2019-08-04 stsp <td>file was merged</td>
762 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
766 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
770 8797b228 2019-08-04 stsp <td>file was deleted</td>
774 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
778 8797b228 2019-08-04 stsp <td>new file was added</td>
782 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
785 8797b228 2019-08-04 stsp <p class="Pp">If merge conflicts occur the rebase operation is interrupted
786 8797b228 2019-08-04 stsp and may be continued once conflicts have been resolved. Alternatively,
787 8797b228 2019-08-04 stsp the rebase operation may be aborted which will leave
788 8797b228 2019-08-04 stsp <var class="Ar">branch</var> unmodified and the work tree switched back
789 8797b228 2019-08-04 stsp to its original branch.</p>
790 8797b228 2019-08-04 stsp <p class="Pp">If a merge conflict is resolved in a way which renders the
791 8797b228 2019-08-04 stsp merged change into a no-op change, the corresponding commit will be
792 8797b228 2019-08-04 stsp elided when the rebase operation continues.</p>
793 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got rebase</code> will refuse to run if
794 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree contains multiple
795 8797b228 2019-08-04 stsp base commits it must first be updated to a single base commit with
796 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If changes have been staged with
797 8797b228 2019-08-04 stsp <code class="Cm">got stage</code>, these changes must first be comitted
798 8797b228 2019-08-04 stsp with <code class="Cm">got commit</code> or unstaged with
799 8797b228 2019-08-04 stsp <code class="Cm">got unstage</code>. If the work tree contains local
800 8797b228 2019-08-04 stsp changes, these changes must first be committed with <code class="Cm">got
801 8797b228 2019-08-04 stsp commit</code> or reverted with <code class="Cm">got revert</code>. If
802 8797b228 2019-08-04 stsp the <var class="Ar">branch</var> contains changes to files outside of
803 8797b228 2019-08-04 stsp the work tree's path prefix, the work tree cannot be used to rebase this
804 8797b228 2019-08-04 stsp branch.</p>
805 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got update</code> and
806 8797b228 2019-08-04 stsp <code class="Cm">got commit</code> commands will refuse to run while a
807 8797b228 2019-08-04 stsp rebase operation is in progress. Other commands which manipulate the
808 8797b228 2019-08-04 stsp work tree may be used for conflict resolution purposes.</p>
809 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got rebase</code> are as
810 8797b228 2019-08-04 stsp follows:</p>
811 8797b228 2019-08-04 stsp <dl class="Bl-tag">
812 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#a"><code class="Fl" id="a">-a</code></a></dt>
813 8797b228 2019-08-04 stsp <dd>Abort an interrupted rebase operation. If this option is used, no
814 8797b228 2019-08-04 stsp further command-line arguments are allowed.</dd>
815 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_6"><code class="Fl" id="c_6">-c</code></a></dt>
816 8797b228 2019-08-04 stsp <dd>Continue an interrupted rebase operation. If this option is used, no
817 8797b228 2019-08-04 stsp further command-line arguments are allowed.</dd>
820 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rb"><code class="Cm" id="rb">rb</code></a></dt>
821 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">rebase</code>.</dd>
822 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#histedit"><code class="Cm" id="histedit">histedit</code></a>
823 8797b228 2019-08-04 stsp [<code class="Fl">-a</code>] [<code class="Fl">-c]</code>
824 8797b228 2019-08-04 stsp [<code class="Fl">-F</code> <var class="Ar">histedit-script</var>]</dt>
825 8797b228 2019-08-04 stsp <dd>Edit commit history between the work tree's current base commit and the
826 8797b228 2019-08-04 stsp tip commit of the work tree's current branch.
827 8797b228 2019-08-04 stsp <p class="Pp">Editing of commit history is controlled via a
828 8797b228 2019-08-04 stsp <var class="Ar">histedit script</var> which can be edited interactively
829 8797b228 2019-08-04 stsp or passed on the command line. The format of the histedit script is
830 8797b228 2019-08-04 stsp line-based. Each line in the script begins with a command name, followed
831 8797b228 2019-08-04 stsp by whitespace and an argument. For most commands, the expected argument
832 8797b228 2019-08-04 stsp is a commit ID SHA1 hash. Any remaining text on the line is ignored.
833 8797b228 2019-08-04 stsp Lines which begin with the ‘#’ character are ignored
834 8797b228 2019-08-04 stsp entirely.</p>
835 8797b228 2019-08-04 stsp <p class="Pp">The available commands are as follows:</p>
836 8797b228 2019-08-04 stsp <table class="Bl-column">
838 8797b228 2019-08-04 stsp <td>pick <var class="Ar">commit</var></td>
839 8797b228 2019-08-04 stsp <td>Use the specified commit as it is.</td>
842 8797b228 2019-08-04 stsp <td>edit <var class="Ar">commit</var></td>
843 8797b228 2019-08-04 stsp <td>Use the specified commit but once changes have been merged into the
844 8797b228 2019-08-04 stsp work tree interrupt the histedit operation for amending.</td>
847 8797b228 2019-08-04 stsp <td>fold <var class="Ar">commit</var></td>
848 8797b228 2019-08-04 stsp <td>Combine the specified commit with the next commit listed further
849 8797b228 2019-08-04 stsp below that will be used.</td>
852 8797b228 2019-08-04 stsp <td>drop <var class="Ar">commit</var></td>
853 8797b228 2019-08-04 stsp <td>Remove this commit from the edited history.</td>
856 8797b228 2019-08-04 stsp <td>mesg <var class="Ar">log-message</var></td>
857 8797b228 2019-08-04 stsp <td>Use the specified single-line log message for the commit on the
858 8797b228 2019-08-04 stsp previous line. If the log message argument is left empty, open an
859 8797b228 2019-08-04 stsp editor where a new log message can be written.</td>
862 8797b228 2019-08-04 stsp <p class="Pp">Every commit in the history being edited must be mentioned in
863 8797b228 2019-08-04 stsp the script. Lines may be re-ordered to change the order of commits in
864 8797b228 2019-08-04 stsp the edited history.</p>
865 8797b228 2019-08-04 stsp <p class="Pp">Edited commits are accumulated on a temporary branch which the
866 8797b228 2019-08-04 stsp work tree will remain switched to throughout the entire histedit
867 8797b228 2019-08-04 stsp operation. Once history editing has completed successfully, the
868 8797b228 2019-08-04 stsp temporary branch becomes the new version of the work tree's branch and
869 8797b228 2019-08-04 stsp the work tree is automatically switched to it.</p>
870 8797b228 2019-08-04 stsp <p class="Pp">While merging commits, show the status of each affected file,
871 8797b228 2019-08-04 stsp using the following status codes:</p>
872 8797b228 2019-08-04 stsp <table class="Bl-column">
875 8797b228 2019-08-04 stsp <td>file was merged</td>
879 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
883 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
887 8797b228 2019-08-04 stsp <td>file was deleted</td>
891 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
895 8797b228 2019-08-04 stsp <td>new file was added</td>
899 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
902 8797b228 2019-08-04 stsp <p class="Pp">If merge conflicts occur the histedit operation is interrupted
903 8797b228 2019-08-04 stsp and may be continued once conflicts have been resolved. Alternatively,
904 8797b228 2019-08-04 stsp the histedit operation may be aborted which will leave the work tree
905 8797b228 2019-08-04 stsp switched back to its original branch.</p>
906 8797b228 2019-08-04 stsp <p class="Pp">If a merge conflict is resolved in a way which renders the
907 8797b228 2019-08-04 stsp merged change into a no-op change, the corresponding commit will be
908 8797b228 2019-08-04 stsp elided when the histedit operation continues.</p>
909 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got histedit</code> will refuse to run if
910 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree's current branch is
911 8797b228 2019-08-04 stsp not in the “refs/heads/” reference namespace, the history
912 8797b228 2019-08-04 stsp of the branch may not be edited. If the work tree contains multiple base
913 8797b228 2019-08-04 stsp commits it must first be updated to a single base commit with
914 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If changes have been staged with
915 8797b228 2019-08-04 stsp <code class="Cm">got stage</code>, these changes must first be comitted
916 8797b228 2019-08-04 stsp with <code class="Cm">got commit</code> or unstaged with
917 8797b228 2019-08-04 stsp <code class="Cm">got unstage</code>. If the work tree contains local
918 8797b228 2019-08-04 stsp changes, these changes must first be committed with <code class="Cm">got
919 8797b228 2019-08-04 stsp commit</code> or reverted with <code class="Cm">got revert</code>. If
920 8797b228 2019-08-04 stsp the edited history contains changes to files outside of the work tree's
921 8797b228 2019-08-04 stsp path prefix, the work tree cannot be used to edit the history of this
922 8797b228 2019-08-04 stsp branch.</p>
923 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got update</code> command will refuse to
924 8797b228 2019-08-04 stsp run while a histedit operation is in progress. Other commands which
925 8797b228 2019-08-04 stsp manipulate the work tree may be used, and the <code class="Cm">got
926 8797b228 2019-08-04 stsp commit</code> command may be used to commit arbitrary changes to the
927 8797b228 2019-08-04 stsp temporary branch while the histedit operation is interrupted.</p>
928 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got histedit</code> are as
929 8797b228 2019-08-04 stsp follows:</p>
930 8797b228 2019-08-04 stsp <dl class="Bl-tag">
931 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#a_2"><code class="Fl" id="a_2">-a</code></a></dt>
932 8797b228 2019-08-04 stsp <dd>Abort an interrupted histedit operation. If this option is used, no
933 8797b228 2019-08-04 stsp further command-line arguments are allowed.</dd>
934 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_7"><code class="Fl" id="c_7">-c</code></a></dt>
935 8797b228 2019-08-04 stsp <dd>Continue an interrupted histedit operation. If this option is used, no
936 8797b228 2019-08-04 stsp further command-line arguments are allowed.</dd>
939 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#he"><code class="Cm" id="he">he</code></a></dt>
940 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">histedit</code>.</dd>
941 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#stage"><code class="Cm" id="stage">stage</code></a>
942 8797b228 2019-08-04 stsp [<code class="Fl">-l</code>] <var class="Ar">file-path ...</var></dt>
943 8797b228 2019-08-04 stsp <dd>Stage local changes at the specified paths for inclusion in the next
944 8797b228 2019-08-04 stsp commit. Paths may be staged if they are added, modified, or deleted
945 8797b228 2019-08-04 stsp according to <code class="Cm">got status</code>.
946 00261839 2019-08-05 stsp <p class="Pp">Show the status of each affected file, using the following
947 00261839 2019-08-05 stsp status codes:</p>
948 00261839 2019-08-05 stsp <table class="Bl-column">
951 00261839 2019-08-05 stsp <td>file addition has been staged</td>
955 00261839 2019-08-05 stsp <td>file modification has been staged</td>
959 00261839 2019-08-05 stsp <td>file deletion has been staged</td>
962 00261839 2019-08-05 stsp <p class="Pp">Staged file contents are saved in newly created blob objects
963 00261839 2019-08-05 stsp in the repository. These blobs will be referred to by tree objects once
964 00261839 2019-08-05 stsp staged changes have been committed.</p>
965 8797b228 2019-08-04 stsp <p class="Pp">Staged changes affect the behaviour of <code class="Cm">got
966 8797b228 2019-08-04 stsp commit</code>, <code class="Cm">got status</code>, and
967 8797b228 2019-08-04 stsp <code class="Cm">got diff</code>. While paths with staged changes exist,
968 8797b228 2019-08-04 stsp the <code class="Cm">got commit</code> command will refuse to commit any
969 8797b228 2019-08-04 stsp paths which do not have staged changes. Local changes created on top of
970 8797b228 2019-08-04 stsp staged changes can only be committed if the path is staged again, or if
971 8797b228 2019-08-04 stsp the staged changes are committed first. The <code class="Cm">got
972 8797b228 2019-08-04 stsp status</code> command will show both local changes and staged changes.
973 8797b228 2019-08-04 stsp The <code class="Cm">got diff</code> command is able to display local
974 8797b228 2019-08-04 stsp changes relative to staged changes, and to display staged changes
975 8797b228 2019-08-04 stsp relative to the repository. The <code class="Cm">got revert</code>
976 8797b228 2019-08-04 stsp command cannot revert staged changes but may be used to revert local
977 8797b228 2019-08-04 stsp changes relative to staged changes.</p>
978 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got stage</code> are as
979 8797b228 2019-08-04 stsp follows:</p>
980 8797b228 2019-08-04 stsp <dl class="Bl-tag">
981 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l_4"><code class="Fl" id="l_4">-l</code></a></dt>
982 8797b228 2019-08-04 stsp <dd>Instead of staging new changes, list paths which are already staged,
983 00261839 2019-08-05 stsp along with the IDs of staged blob objects and stage status codes. If
984 00261839 2019-08-05 stsp paths were provided in the command line show the staged paths among
985 00261839 2019-08-05 stsp the specified paths. Otherwise, show all staged paths.</dd>
987 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got stage</code> will refuse to run if
988 8797b228 2019-08-04 stsp certain preconditions are not met. If a file contains merge conflicts,
989 8797b228 2019-08-04 stsp these conflicts must be resolved first. If a file is found to be out of
990 8797b228 2019-08-04 stsp date relative to the head commit on the work tree's current branch, the
991 8797b228 2019-08-04 stsp file must be updated with <code class="Cm">got update</code> before it
992 8797b228 2019-08-04 stsp can be staged (however, this does not prevent the file from becoming
993 8797b228 2019-08-04 stsp out-of-date at some point after having been staged).</p>
994 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got update</code>, <code class="Cm">got
995 8797b228 2019-08-04 stsp rebase</code>, and <code class="Cm">got histedit</code> commands will
996 8797b228 2019-08-04 stsp refuse to run while staged changes exist. If staged changes cannot be
997 8797b228 2019-08-04 stsp committed because a staged path is out of date, the path must be
998 8797b228 2019-08-04 stsp unstaged with <code class="Cm">got unstage</code> before it can be
999 8797b228 2019-08-04 stsp updated with <code class="Cm">got update</code>, and may then be staged
1000 8797b228 2019-08-04 stsp again if necessary.</p>
1002 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#sg"><code class="Cm" id="sg">sg</code></a></dt>
1003 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">stage</code>.</dd>
1004 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#unstage"><code class="Cm" id="unstage">unstage</code></a>
1005 8797b228 2019-08-04 stsp [<var class="Ar">path ...</var>]</dt>
1006 8797b228 2019-08-04 stsp <dd>Merge staged changes back into the work tree and put affected paths back
1007 8797b228 2019-08-04 stsp into non-staged status. If no <var class="Ar">path</var> is specified,
1008 8797b228 2019-08-04 stsp unstage all staged changes across the entire work tree.
1009 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
1010 8797b228 2019-08-04 stsp status codes:</p>
1011 8797b228 2019-08-04 stsp <table class="Bl-column">
1013 8797b228 2019-08-04 stsp <td>G</td>
1014 8797b228 2019-08-04 stsp <td>file was unstaged</td>
1017 8797b228 2019-08-04 stsp <td>C</td>
1018 8797b228 2019-08-04 stsp <td>file was unstaged and conflicts occurred during merge</td>
1021 8797b228 2019-08-04 stsp <td>!</td>
1022 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
1025 8797b228 2019-08-04 stsp <td>D</td>
1026 8797b228 2019-08-04 stsp <td>file was staged as deleted and still is deleted</td>
1029 8797b228 2019-08-04 stsp <td>d</td>
1030 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
1033 8797b228 2019-08-04 stsp <td>~</td>
1034 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
1038 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#ug"><code class="Cm" id="ug">ug</code></a></dt>
1039 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">unstage</code>.</dd>
1041 8797b228 2019-08-04 stsp </section>
1042 8797b228 2019-08-04 stsp <section class="Sh">
1043 8797b228 2019-08-04 stsp <h1 class="Sh" id="ENVIRONMENT"><a class="permalink" href="#ENVIRONMENT">ENVIRONMENT</a></h1>
1044 8797b228 2019-08-04 stsp <dl class="Bl-tag">
1045 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#GOT_AUTHOR"><code class="Ev" id="GOT_AUTHOR">GOT_AUTHOR</code></a></dt>
1046 8797b228 2019-08-04 stsp <dd>The author's name and email address for <code class="Cm">got commit</code>
1047 847d5fba 2019-08-06 stsp and <code class="Cm">got import</code>, for example: <span class="An">Flan
1048 847d5fba 2019-08-06 stsp Hacker</span>
1049 847d5fba 2019-08-06 stsp <<a class="Mt" href="mailto:flan_hacker@openbsd.org">flan_hacker@openbsd.org</a>></dd>
1050 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#VISUAL,"><code class="Ev" id="VISUAL,">VISUAL,</code></a>
1051 8797b228 2019-08-04 stsp <code class="Ev">EDITOR</code></dt>
1052 8797b228 2019-08-04 stsp <dd>The editor spawned by <code class="Cm">got commit</code>.</dd>
1054 8797b228 2019-08-04 stsp </section>
1055 8797b228 2019-08-04 stsp <section class="Sh">
1056 8797b228 2019-08-04 stsp <h1 class="Sh" id="EXIT_STATUS"><a class="permalink" href="#EXIT_STATUS">EXIT
1057 8797b228 2019-08-04 stsp STATUS</a></h1>
1058 8797b228 2019-08-04 stsp The <code class="Nm">got</code> utility exits 0 on success,
1059 8797b228 2019-08-04 stsp and >0 if an error occurs.
1060 8797b228 2019-08-04 stsp </section>
1061 8797b228 2019-08-04 stsp <section class="Sh">
1062 8797b228 2019-08-04 stsp <h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
1063 8797b228 2019-08-04 stsp Clone an existing Git repository for use with <code class="Nm">got</code>. This
1064 8797b228 2019-08-04 stsp step currently requires <a class="Xr">git(1)</a>:
1065 8797b228 2019-08-04 stsp <p class="Pp"></p>
1066 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/</code></div>
1067 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git clone --bare
1068 8797b228 2019-08-04 stsp https://github.com/openbsd/src.git</code></div>
1069 8797b228 2019-08-04 stsp <p class="Pp">Alternatively, for quick and dirty local testing of
1070 8797b228 2019-08-04 stsp <code class="Nm">got</code> a new Git repository could be created and
1071 8797b228 2019-08-04 stsp populated with files, e.g. from a temporary CVS checkout located at
1072 8797b228 2019-08-04 stsp <span class="Pa">/tmp/src</span>:</p>
1073 8797b228 2019-08-04 stsp <p class="Pp"></p>
1074 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got init
1075 8797b228 2019-08-04 stsp /var/git/src.git</code></div>
1076 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got import -r /var/git/src.git -I
1077 8797b228 2019-08-04 stsp CVS -I obj /tmp/src</code></div>
1078 8797b228 2019-08-04 stsp <p class="Pp">Check out a work tree from the Git repository to /usr/src:</p>
1079 8797b228 2019-08-04 stsp <p class="Pp"></p>
1080 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got checkout /var/git/src.git
1081 8797b228 2019-08-04 stsp /usr/src</code></div>
1082 8797b228 2019-08-04 stsp <p class="Pp">View local changes in a work tree directory:</p>
1083 8797b228 2019-08-04 stsp <p class="Pp"></p>
1084 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got status</code></div>
1085 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got diff | less</code></div>
1086 8797b228 2019-08-04 stsp <p class="Pp">In a work tree or a git repository directory, list all branch
1087 8797b228 2019-08-04 stsp references:</p>
1088 8797b228 2019-08-04 stsp <p class="Pp"></p>
1089 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got branch -l</code></div>
1090 8797b228 2019-08-04 stsp <p class="Pp">In a work tree or a git repository directory, create a new branch
1091 8797b228 2019-08-04 stsp called “unified-buffer-cache” which is forked off the
1092 8797b228 2019-08-04 stsp “master” branch:</p>
1093 8797b228 2019-08-04 stsp <p class="Pp"></p>
1094 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got branch unified-buffer-cache
1095 8797b228 2019-08-04 stsp master</code></div>
1096 8797b228 2019-08-04 stsp <p class="Pp">Switch an existing work tree to the branch
1097 8797b228 2019-08-04 stsp “unified-buffer-cache”. Local changes in the work tree will be
1098 8797b228 2019-08-04 stsp preserved and merged if necessary:</p>
1099 8797b228 2019-08-04 stsp <p class="Pp"></p>
1100 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b
1101 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1102 8797b228 2019-08-04 stsp <p class="Pp">Create a new commit from local changes in a work tree directory.
1103 8797b228 2019-08-04 stsp This new commit will become the head commit of the work tree's current
1104 8797b228 2019-08-04 stsp branch:</p>
1105 8797b228 2019-08-04 stsp <p class="Pp"></p>
1106 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got commit</code></div>
1107 8797b228 2019-08-04 stsp <p class="Pp">In a work tree or a git repository directory, view changes
1108 8797b228 2019-08-04 stsp committed in the 3 most recent commits to the work tree's branch, or the
1109 8797b228 2019-08-04 stsp branch resolved via the repository's HEAD reference, respectively:</p>
1110 8797b228 2019-08-04 stsp <p class="Pp"></p>
1111 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got log -p -l 3 -f</code></div>
1112 8797b228 2019-08-04 stsp <p class="Pp">Add new files and remove obsolete files in a work tree
1113 8797b228 2019-08-04 stsp directory:</p>
1114 8797b228 2019-08-04 stsp <p class="Pp"></p>
1115 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got add
1116 8797b228 2019-08-04 stsp sys/uvm/uvm_ubc.c</code></div>
1117 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got remove
1118 8797b228 2019-08-04 stsp sys/uvm/uvm_vnode.c</code></div>
1119 8797b228 2019-08-04 stsp <p class="Pp">Create a new commit from local changes in a work tree directory
1120 8797b228 2019-08-04 stsp with a pre-defined log message.</p>
1121 8797b228 2019-08-04 stsp <p class="Pp"></p>
1122 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got commit -m 'unify the buffer
1123 8797b228 2019-08-04 stsp cache'</code></div>
1124 8797b228 2019-08-04 stsp <p class="Pp">Update any work tree checked out from the
1125 8797b228 2019-08-04 stsp “unified-buffer-cache” branch to the latest commit on this
1126 8797b228 2019-08-04 stsp branch:</p>
1127 8797b228 2019-08-04 stsp <p class="Pp"></p>
1128 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update</code></div>
1129 8797b228 2019-08-04 stsp <p class="Pp">Roll file content on the unified-buffer-cache branch back by one
1130 8797b228 2019-08-04 stsp commit, and then fetch the rolled-back change into the work tree as a local
1131 8797b228 2019-08-04 stsp change to be amended and perhaps committed again:</p>
1132 8797b228 2019-08-04 stsp <p class="Pp"></p>
1133 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got backout
1134 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1135 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got commit -m 'roll back
1136 8797b228 2019-08-04 stsp previous'</code></div>
1137 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ # now back out the previous backout
1138 8797b228 2019-08-04 stsp :-)</code></div>
1139 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got backout
1140 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1141 8797b228 2019-08-04 stsp <p class="Pp">Fetch new upstream commits into the local repository's master
1142 8797b228 2019-08-04 stsp branch. This step currently requires <a class="Xr">git(1)</a>:</p>
1143 8797b228 2019-08-04 stsp <p class="Pp"></p>
1144 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/src.git</code></div>
1145 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git fetch origin
1146 8797b228 2019-08-04 stsp master:master</code></div>
1147 8797b228 2019-08-04 stsp <p class="Pp">Rebase the “unified-buffer-cache” branch on top of
1148 8797b228 2019-08-04 stsp the new head commit of the “master” branch.</p>
1149 8797b228 2019-08-04 stsp <p class="Pp"></p>
1150 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b master</code></div>
1151 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got rebase
1152 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1153 8797b228 2019-08-04 stsp <p class="Pp">Create a patch from all changes on the unified-buffer-cache
1154 8797b228 2019-08-04 stsp branch. The patch can be mailed out for review and applied to OpenBSD's CVS
1156 8797b228 2019-08-04 stsp <p class="Pp"></p>
1157 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got diff master
1158 8797b228 2019-08-04 stsp unified-buffer-cache > /tmp/ubc.diff</code></div>
1159 8797b228 2019-08-04 stsp <p class="Pp">Edit the entire commit history of the
1160 8797b228 2019-08-04 stsp “unified-buffer-cache” branch:</p>
1161 8797b228 2019-08-04 stsp <p class="Pp"></p>
1162 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b
1163 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1164 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -c master</code></div>
1165 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got histedit</code></div>
1166 8797b228 2019-08-04 stsp <p class="Pp">Additional steps are necessary if local changes need to be pushed
1167 8797b228 2019-08-04 stsp back to the remote repository, which currently requires <code class="Cm">git
1168 8797b228 2019-08-04 stsp fetch</code> and <code class="Cm">git push</code>. Before working against
1169 8797b228 2019-08-04 stsp existing branches in a repository cloned with “git clone
1170 8797b228 2019-08-04 stsp --bare”, a Git “refspec” must be configured to map all
1171 8797b228 2019-08-04 stsp references in the remote repository into the “refs/remotes”
1172 8797b228 2019-08-04 stsp namespace of the local repository. This can achieved by setting Git's
1173 8797b228 2019-08-04 stsp <span class="Pa">remote.origin.fetch</span> configuration variable to the
1174 8797b228 2019-08-04 stsp value “+refs/heads/*:refs/remotes/origin/*” with the
1175 8797b228 2019-08-04 stsp <code class="Cm">git config</code> command:</p>
1176 8797b228 2019-08-04 stsp <p class="Pp"></p>
1177 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/repo</code></div>
1178 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git config remote.origin.fetch
1179 8797b228 2019-08-04 stsp '+refs/heads/*:refs/remotes/origin/*'</code></div>
1180 8797b228 2019-08-04 stsp <p class="Pp">Alternatively, the following <span class="Pa">fetch</span>
1181 8797b228 2019-08-04 stsp configuration item can be added manually to the Git repository's
1182 8797b228 2019-08-04 stsp <span class="Pa">config</span> file:</p>
1183 8797b228 2019-08-04 stsp <p class="Pp"></p>
1184 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">[remote origin]</code></div>
1185 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">url = ...</code></div>
1186 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">fetch =
1187 8797b228 2019-08-04 stsp +refs/heads/*:refs/remotes/origin/*</code></div>
1188 8797b228 2019-08-04 stsp <p class="Pp">This configuration leaves the local repository's
1189 8797b228 2019-08-04 stsp “refs/heads” namespace free for use by local branches checked
1190 8797b228 2019-08-04 stsp out with <code class="Cm">got checkout</code> and, if needed, created with
1191 8797b228 2019-08-04 stsp <code class="Cm">got branch</code>.</p>
1192 8797b228 2019-08-04 stsp <p class="Pp">Branches in the “remotes/origin” namespace can be
1193 8797b228 2019-08-04 stsp updated with incoming changes from the remote repository with
1194 8797b228 2019-08-04 stsp <code class="Cm">git fetch</code>:</p>
1195 8797b228 2019-08-04 stsp <p class="Pp"></p>
1196 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/repo</code></div>
1197 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git fetch</code></div>
1198 8797b228 2019-08-04 stsp <p class="Pp">Before outgoing changes on the local “master” branch
1199 8797b228 2019-08-04 stsp can be pushed to the remote repository, the local “master”
1200 8797b228 2019-08-04 stsp branch must be rebased onto the “origin/master” branch:</p>
1201 8797b228 2019-08-04 stsp <p class="Pp"></p>
1202 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b
1203 8797b228 2019-08-04 stsp origin/master</code></div>
1204 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got rebase master</code></div>
1205 8797b228 2019-08-04 stsp <p class="Pp">Changes on the local “master” branch can then be
1206 8797b228 2019-08-04 stsp pushed to the remote repository with <code class="Cm">git push</code>:</p>
1207 8797b228 2019-08-04 stsp <p class="Pp"></p>
1208 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/repo</code></div>
1209 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git push origin master</code></div>
1210 8797b228 2019-08-04 stsp </section>
1211 8797b228 2019-08-04 stsp <section class="Sh">
1212 8797b228 2019-08-04 stsp <h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
1213 8797b228 2019-08-04 stsp ALSO</a></h1>
1214 8797b228 2019-08-04 stsp <a class="Xr">tog(1)</a>, <a class="Xr">git-repository(5)</a>,
1215 8797b228 2019-08-04 stsp <a class="Xr">got-worktree(5)</a>
1216 8797b228 2019-08-04 stsp </section>
1217 8797b228 2019-08-04 stsp <section class="Sh">
1218 8797b228 2019-08-04 stsp <h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
1219 8797b228 2019-08-04 stsp <span class="An">Stefan Sperling</span>
1220 8797b228 2019-08-04 stsp <<a class="Mt" href="mailto:stsp@openbsd.org">stsp@openbsd.org</a>>
1222 8797b228 2019-08-04 stsp <span class="An">Martin Pieuchot</span>
1223 8797b228 2019-08-04 stsp <<a class="Mt" href="mailto:mpi@openbsd.org">mpi@openbsd.org</a>>
1225 8797b228 2019-08-04 stsp <span class="An">joshua stein</span>
1226 8797b228 2019-08-04 stsp <<a class="Mt" href="mailto:jcs@openbsd.org">jcs@openbsd.org</a>>
1227 8797b228 2019-08-04 stsp </section>
1228 8797b228 2019-08-04 stsp <section class="Sh">
1229 8797b228 2019-08-04 stsp <h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
1230 8797b228 2019-08-04 stsp <code class="Nm">got</code> is a work-in-progress and many commands remain to be
1231 8797b228 2019-08-04 stsp implemented. At present, the user has to fall back on <a class="Xr">git(1)</a>
1232 8797b228 2019-08-04 stsp to perform many tasks, in particular tasks related to repository
1233 8797b228 2019-08-04 stsp administration and tasks which require a network connection.
1234 8797b228 2019-08-04 stsp </section>
1236 8797b228 2019-08-04 stsp <table class="foot">
1238 847d5fba 2019-08-06 stsp <td class="foot-date">August 6, 2019</td>
1239 8797b228 2019-08-04 stsp <td class="foot-os">OpenBSD 6.5</td>