Blame


1 8797b228 2019-08-04 stsp <!DOCTYPE html>
2 8797b228 2019-08-04 stsp <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
6 8797b228 2019-08-04 stsp
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.
10 8797b228 2019-08-04 stsp
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.
18 8797b228 2019-08-04 stsp -->
19 8797b228 2019-08-04 stsp <head>
20 8797b228 2019-08-04 stsp <meta charset="utf-8"/>
21 8797b228 2019-08-04 stsp <style>
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; }
32 8797b228 2019-08-04 stsp </style>
33 8797b228 2019-08-04 stsp <title>GOT(1)</title>
34 8797b228 2019-08-04 stsp </head>
35 8797b228 2019-08-04 stsp <body>
36 8797b228 2019-08-04 stsp <table class="head">
37 8797b228 2019-08-04 stsp <tr>
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>
41 8797b228 2019-08-04 stsp </tr>
42 8797b228 2019-08-04 stsp </table>
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> &#x2014;
47 ae520cae 2019-08-05 stsp <div class="Nd">Game of Trees</div>
48 8797b228 2019-08-04 stsp </section>
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">
52 8797b228 2019-08-04 stsp <tr>
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>
56 8797b228 2019-08-04 stsp </tr>
57 8797b228 2019-08-04 stsp </table>
58 8797b228 2019-08-04 stsp </section>
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 &#x201C;distributed&#x201D;
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
68 8797b228 2019-08-04 stsp time.</p>
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>
82 8797b228 2019-08-04 stsp </dl>
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
92 8797b228 2019-08-04 stsp used.</p>
93 8797b228 2019-08-04 stsp </dd>
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 &#x201C;master&#x201D;. Use of this option is
116 8797b228 2019-08-04 stsp required if the &#x201C;master&#x201D; 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>
134 8797b228 2019-08-04 stsp </dl>
135 8797b228 2019-08-04 stsp </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
165 8797b228 2019-08-04 stsp used.</dd>
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>
171 8797b228 2019-08-04 stsp </dl>
172 8797b228 2019-08-04 stsp </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">
182 8797b228 2019-08-04 stsp <tr>
183 8797b228 2019-08-04 stsp <td>U</td>
184 8797b228 2019-08-04 stsp <td>file was updated and contained no local changes</td>
185 8797b228 2019-08-04 stsp </tr>
186 8797b228 2019-08-04 stsp <tr>
187 8797b228 2019-08-04 stsp <td>G</td>
188 8797b228 2019-08-04 stsp <td>file was updated and local changes were merged cleanly</td>
189 8797b228 2019-08-04 stsp </tr>
190 8797b228 2019-08-04 stsp <tr>
191 8797b228 2019-08-04 stsp <td>C</td>
192 8797b228 2019-08-04 stsp <td>file was updated and conflicts occurred during merge</td>
193 8797b228 2019-08-04 stsp </tr>
194 8797b228 2019-08-04 stsp <tr>
195 8797b228 2019-08-04 stsp <td>D</td>
196 8797b228 2019-08-04 stsp <td>file was deleted</td>
197 8797b228 2019-08-04 stsp </tr>
198 8797b228 2019-08-04 stsp <tr>
199 8797b228 2019-08-04 stsp <td>A</td>
200 8797b228 2019-08-04 stsp <td>new file was added</td>
201 8797b228 2019-08-04 stsp </tr>
202 8797b228 2019-08-04 stsp <tr>
203 8797b228 2019-08-04 stsp <td>~</td>
204 8797b228 2019-08-04 stsp <td>versioned file is obstructed by a non-regular file</td>
205 8797b228 2019-08-04 stsp </tr>
206 8797b228 2019-08-04 stsp <tr>
207 8797b228 2019-08-04 stsp <td>!</td>
208 8797b228 2019-08-04 stsp <td>a missing versioned file was restored</td>
209 8797b228 2019-08-04 stsp </tr>
210 8797b228 2019-08-04 stsp </table>
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>
243 8797b228 2019-08-04 stsp </dl>
244 8797b228 2019-08-04 stsp </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">
252 8797b228 2019-08-04 stsp <tr>
253 8797b228 2019-08-04 stsp <td>M</td>
254 8797b228 2019-08-04 stsp <td>modified file</td>
255 8797b228 2019-08-04 stsp </tr>
256 8797b228 2019-08-04 stsp <tr>
257 8797b228 2019-08-04 stsp <td>A</td>
258 8797b228 2019-08-04 stsp <td>file scheduled for addition in next commit</td>
259 8797b228 2019-08-04 stsp </tr>
260 8797b228 2019-08-04 stsp <tr>
261 8797b228 2019-08-04 stsp <td>D</td>
262 8797b228 2019-08-04 stsp <td>file scheduled for deletion in next commit</td>
263 8797b228 2019-08-04 stsp </tr>
264 8797b228 2019-08-04 stsp <tr>
265 8797b228 2019-08-04 stsp <td>C</td>
266 8797b228 2019-08-04 stsp <td>modified or added file which contains merge conflicts</td>
267 8797b228 2019-08-04 stsp </tr>
268 8797b228 2019-08-04 stsp <tr>
269 8797b228 2019-08-04 stsp <td>!</td>
270 8797b228 2019-08-04 stsp <td>versioned file was expected on disk but is missing</td>
271 8797b228 2019-08-04 stsp </tr>
272 8797b228 2019-08-04 stsp <tr>
273 8797b228 2019-08-04 stsp <td>~</td>
274 8797b228 2019-08-04 stsp <td>versioned file is obstructed by a non-regular file</td>
275 8797b228 2019-08-04 stsp </tr>
276 8797b228 2019-08-04 stsp <tr>
277 8797b228 2019-08-04 stsp <td>?</td>
278 8797b228 2019-08-04 stsp <td>unversioned item not tracked by <code class="Nm">got</code></td>
279 8797b228 2019-08-04 stsp </tr>
280 8797b228 2019-08-04 stsp </table>
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">
288 8797b228 2019-08-04 stsp <tr>
289 8797b228 2019-08-04 stsp <td>M</td>
290 8797b228 2019-08-04 stsp <td>file modification is staged</td>
291 8797b228 2019-08-04 stsp </tr>
292 8797b228 2019-08-04 stsp <tr>
293 8797b228 2019-08-04 stsp <td>A</td>
294 8797b228 2019-08-04 stsp <td>file addition is staged</td>
295 8797b228 2019-08-04 stsp </tr>
296 8797b228 2019-08-04 stsp <tr>
297 8797b228 2019-08-04 stsp <td>D</td>
298 8797b228 2019-08-04 stsp <td>file deletion is staged</td>
299 8797b228 2019-08-04 stsp </tr>
300 8797b228 2019-08-04 stsp </table>
301 fc62dacd 2019-08-08 stsp <p class="Pp">Changes created on top of staged changes are indicated in the
302 fc62dacd 2019-08-08 stsp first column:</p>
303 8797b228 2019-08-04 stsp <table class="Bl-column">
304 8797b228 2019-08-04 stsp <tr>
305 8797b228 2019-08-04 stsp <td>MM</td>
306 fc62dacd 2019-08-08 stsp <td>file was modified after earlier changes have been staged</td>
307 8797b228 2019-08-04 stsp </tr>
308 8797b228 2019-08-04 stsp <tr>
309 8797b228 2019-08-04 stsp <td>MA</td>
310 fc62dacd 2019-08-08 stsp <td>file was modified after having been staged for addition</td>
311 8797b228 2019-08-04 stsp </tr>
312 8797b228 2019-08-04 stsp </table>
313 1ff80c7c 2019-08-08 stsp <p class="Pp">For compatibility with <a class="Xr">cvs(1)</a>,
314 1ff80c7c 2019-08-08 stsp <code class="Cm">got status</code> parses
315 1ff80c7c 2019-08-08 stsp <span class="Pa">.cvsignore</span> files in each traversed directory and
316 1ff80c7c 2019-08-08 stsp will not display unversioned files which match <a class="Xr">glob(7)</a>
317 1ff80c7c 2019-08-08 stsp ignore patterns contained in <span class="Pa">.cvsignore</span> files.
318 1ff80c7c 2019-08-08 stsp Unlike <a class="Xr">cvs(1)</a>, <code class="Cm">got status</code> only
319 1ff80c7c 2019-08-08 stsp supports a single ignore pattern per line.</p>
320 8797b228 2019-08-04 stsp </dd>
321 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#st"><code class="Cm" id="st">st</code></a></dt>
322 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">status</code>.</dd>
323 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#log"><code class="Cm" id="log">log</code></a>
324 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
325 8797b228 2019-08-04 stsp [<code class="Fl">-C</code> <var class="Ar">number</var>]
326 8797b228 2019-08-04 stsp [<code class="Fl">-f</code>] [<code class="Fl">-l</code>
327 8797b228 2019-08-04 stsp <var class="Ar">N</var>] [<code class="Fl">-p</code>]
328 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
329 8797b228 2019-08-04 stsp [<var class="Ar">path</var>]</dt>
330 8797b228 2019-08-04 stsp <dd>Display history of a repository. If a <var class="Ar">path</var> is
331 8797b228 2019-08-04 stsp specified, show only commits which modified this path.
332 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got log</code> are as
333 8797b228 2019-08-04 stsp follows:</p>
334 8797b228 2019-08-04 stsp <dl class="Bl-tag">
335 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_3"><code class="Fl" id="c_3">-c</code></a>
336 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
337 8797b228 2019-08-04 stsp <dd>Start traversing history at the specified
338 8797b228 2019-08-04 stsp <var class="Ar">commit</var>. The expected argument is a commit ID
339 8797b228 2019-08-04 stsp SHA1 hash or an existing reference which will be resolved to a commit
340 8797b228 2019-08-04 stsp ID. An abbreviated hash argument will be expanded to a full SHA1 hash
341 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique. If this option is
342 8797b228 2019-08-04 stsp not specified, default to the work tree's current branch if invoked in
343 8797b228 2019-08-04 stsp a work tree, or to the repository's HEAD reference.</dd>
344 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#C"><code class="Fl" id="C">-C</code></a>
345 8797b228 2019-08-04 stsp <var class="Ar">number</var></dt>
346 8797b228 2019-08-04 stsp <dd>Set the number of context lines shown in diffs with
347 8797b228 2019-08-04 stsp <code class="Fl">-p</code>. By default, 3 lines of context are
348 8797b228 2019-08-04 stsp shown.</dd>
349 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#f"><code class="Fl" id="f">-f</code></a></dt>
350 8797b228 2019-08-04 stsp <dd>Restrict history traversal to the first parent of each commit. This
351 8797b228 2019-08-04 stsp shows the linear history of the current branch only. Merge commits
352 8797b228 2019-08-04 stsp which affected the current branch will be shown but individual commits
353 8797b228 2019-08-04 stsp which originated on other branches will be omitted.</dd>
354 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l"><code class="Fl" id="l">-l</code></a>
355 8797b228 2019-08-04 stsp <var class="Ar">N</var></dt>
356 8797b228 2019-08-04 stsp <dd>Limit history traversal to a given number of commits.</dd>
357 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#p_2"><code class="Fl" id="p_2">-p</code></a></dt>
358 8797b228 2019-08-04 stsp <dd>Display the patch of modifications made in each commit.</dd>
359 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_2"><code class="Fl" id="r_2">-r</code></a>
360 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
361 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
362 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
363 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
364 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
365 8797b228 2019-08-04 stsp </dl>
366 8797b228 2019-08-04 stsp </dd>
367 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#diff"><code class="Cm" id="diff">diff</code></a>
368 8797b228 2019-08-04 stsp [<code class="Fl">-C</code> <var class="Ar">number</var>]
369 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
370 8797b228 2019-08-04 stsp [<code class="Fl">-s</code>] [<var class="Ar">object1</var>
371 8797b228 2019-08-04 stsp <var class="Ar">object2</var> | <var class="Ar">path</var>]</dt>
372 8797b228 2019-08-04 stsp <dd>When invoked within a work tree with less than two arguments, display
373 8797b228 2019-08-04 stsp uncommitted changes in the work tree. If a <var class="Ar">path</var> is
374 8797b228 2019-08-04 stsp specified, only show changes within this path.
375 8797b228 2019-08-04 stsp <p class="Pp">If two arguments are provided, treat each argument as a
376 8797b228 2019-08-04 stsp reference, or an object ID SHA1 hash, and display differences between
377 8797b228 2019-08-04 stsp these objects. Both objects must be of the same type (blobs, trees, or
378 8797b228 2019-08-04 stsp commits). An abbreviated hash argument will be expanded to a full SHA1
379 8797b228 2019-08-04 stsp hash automatically, provided the abbreviation is unique.</p>
380 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got diff</code> are as
381 8797b228 2019-08-04 stsp follows:</p>
382 8797b228 2019-08-04 stsp <dl class="Bl-tag">
383 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#C_2"><code class="Fl" id="C_2">-C</code></a>
384 8797b228 2019-08-04 stsp <var class="Ar">number</var></dt>
385 8797b228 2019-08-04 stsp <dd>Set the number of context lines shown in the diff. By default, 3 lines
386 8797b228 2019-08-04 stsp of context are shown.</dd>
387 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_3"><code class="Fl" id="r_3">-r</code></a>
388 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
389 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
390 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
391 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
392 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
393 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#s"><code class="Fl" id="s">-s</code></a></dt>
394 8797b228 2019-08-04 stsp <dd>Show changes staged with <code class="Cm">got stage</code> instead of
395 8797b228 2019-08-04 stsp showing local changes. This option is only valid when
396 8797b228 2019-08-04 stsp <code class="Cm">got diff</code> is invoked in a work tree.</dd>
397 8797b228 2019-08-04 stsp </dl>
398 8797b228 2019-08-04 stsp </dd>
399 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#di"><code class="Cm" id="di">di</code></a></dt>
400 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">diff</code>.</dd>
401 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#blame"><code class="Cm" id="blame">blame</code></a>
402 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
403 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
404 8797b228 2019-08-04 stsp <var class="Ar">path</var></dt>
405 8797b228 2019-08-04 stsp <dd>Display line-by-line history of a file at the specified path.
406 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got blame</code> are as
407 8797b228 2019-08-04 stsp follows:</p>
408 8797b228 2019-08-04 stsp <dl class="Bl-tag">
409 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_4"><code class="Fl" id="c_4">-c</code></a>
410 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
411 8797b228 2019-08-04 stsp <dd>Start traversing history at the specified
412 8797b228 2019-08-04 stsp <var class="Ar">commit</var>. The expected argument is a commit ID
413 8797b228 2019-08-04 stsp SHA1 hash or an existing reference which will be resolved to a commit
414 8797b228 2019-08-04 stsp ID. An abbreviated hash argument will be expanded to a full SHA1 hash
415 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique.</dd>
416 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_4"><code class="Fl" id="r_4">-r</code></a>
417 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
418 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
419 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
420 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
421 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
422 8797b228 2019-08-04 stsp </dl>
423 8797b228 2019-08-04 stsp </dd>
424 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#bl"><code class="Cm" id="bl">bl</code></a></dt>
425 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">blame</code>.</dd>
426 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#tree"><code class="Cm" id="tree">tree</code></a>
427 8797b228 2019-08-04 stsp [<code class="Fl">-c</code> <var class="Ar">commit</var>]
428 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
429 8797b228 2019-08-04 stsp [<code class="Fl">-i</code>] [<code class="Fl">-R]</code>
430 8797b228 2019-08-04 stsp [<var class="Ar">path</var>]</dt>
431 8797b228 2019-08-04 stsp <dd>Display a listing of files and directories at the specified directory path
432 8797b228 2019-08-04 stsp in the repository. Entries shown in this listing may carry one of the
433 8797b228 2019-08-04 stsp following trailing annotations:
434 8797b228 2019-08-04 stsp <table class="Bl-column">
435 8797b228 2019-08-04 stsp <tr>
436 8797b228 2019-08-04 stsp <td>/</td>
437 8797b228 2019-08-04 stsp <td>entry is a directory</td>
438 8797b228 2019-08-04 stsp </tr>
439 8797b228 2019-08-04 stsp <tr>
440 8797b228 2019-08-04 stsp <td>*</td>
441 8797b228 2019-08-04 stsp <td>entry is an executable file</td>
442 8797b228 2019-08-04 stsp </tr>
443 8797b228 2019-08-04 stsp </table>
444 8797b228 2019-08-04 stsp <p class="Pp">If no <var class="Ar">path</var> is specified, list the
445 8797b228 2019-08-04 stsp repository path corresponding to the current directory of the work tree,
446 8797b228 2019-08-04 stsp or the root directory of the repository if there is no work tree.</p>
447 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got tree</code> are as
448 8797b228 2019-08-04 stsp follows:</p>
449 8797b228 2019-08-04 stsp <dl class="Bl-tag">
450 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_5"><code class="Fl" id="c_5">-c</code></a>
451 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
452 8797b228 2019-08-04 stsp <dd>List files and directories as they appear in the specified
453 8797b228 2019-08-04 stsp <var class="Ar">commit</var>. The expected argument is a commit ID
454 8797b228 2019-08-04 stsp SHA1 hash or an existing reference which will be resolved to a commit
455 8797b228 2019-08-04 stsp ID. An abbreviated hash argument will be expanded to a full SHA1 hash
456 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique.</dd>
457 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_5"><code class="Fl" id="r_5">-r</code></a>
458 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
459 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
460 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
461 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
462 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
463 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#i"><code class="Fl" id="i">-i</code></a></dt>
464 8797b228 2019-08-04 stsp <dd>Show object IDs of files (blob objects) and directories (tree
465 8797b228 2019-08-04 stsp objects).</dd>
466 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#R"><code class="Fl" id="R">-R</code></a></dt>
467 8797b228 2019-08-04 stsp <dd>Recurse into sub-directories in the repository.</dd>
468 8797b228 2019-08-04 stsp </dl>
469 8797b228 2019-08-04 stsp </dd>
470 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#tr"><code class="Cm" id="tr">tr</code></a></dt>
471 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">tree</code>.</dd>
472 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#ref"><code class="Cm" id="ref">ref</code></a>
473 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
474 8797b228 2019-08-04 stsp [<code class="Fl">-l</code>] [<code class="Fl">-d</code>
475 8797b228 2019-08-04 stsp <var class="Ar">name</var>] [<var class="Ar">name</var>
476 8797b228 2019-08-04 stsp <var class="Ar">target</var>]</dt>
477 8797b228 2019-08-04 stsp <dd>Manage references in a repository.
478 8797b228 2019-08-04 stsp <p class="Pp">If no options are passed, expect two arguments and attempt to
479 8797b228 2019-08-04 stsp create, or update, the reference with the given
480 8797b228 2019-08-04 stsp <var class="Ar">name</var>, and make it point at the given
481 8797b228 2019-08-04 stsp <var class="Ar">target</var>. The target may be an object ID SHA1 hash
482 8797b228 2019-08-04 stsp or an existing reference which will be resolved to an object ID. An
483 8797b228 2019-08-04 stsp abbreviated hash argument will be expanded to a full SHA1 hash
484 8797b228 2019-08-04 stsp automatically, provided the abbreviation is unique.</p>
485 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got ref</code> are as
486 8797b228 2019-08-04 stsp follows:</p>
487 8797b228 2019-08-04 stsp <dl class="Bl-tag">
488 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_6"><code class="Fl" id="r_6">-r</code></a>
489 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
490 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
491 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
492 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
493 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
494 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l_2"><code class="Fl" id="l_2">-l</code></a></dt>
495 8797b228 2019-08-04 stsp <dd>List all existing references in the repository.</dd>
496 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#d"><code class="Fl" id="d">-d</code></a>
497 8797b228 2019-08-04 stsp <var class="Ar">name</var></dt>
498 8797b228 2019-08-04 stsp <dd>Delete the reference with the specified name from the repository.</dd>
499 8797b228 2019-08-04 stsp </dl>
500 8797b228 2019-08-04 stsp </dd>
501 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#branch"><code class="Cm" id="branch">branch</code></a>
502 8797b228 2019-08-04 stsp [<code class="Fl">-r</code> <var class="Ar">repository-path</var>]
503 8797b228 2019-08-04 stsp [<code class="Fl">-l</code>] [<code class="Fl">-d</code>
504 8797b228 2019-08-04 stsp <var class="Ar">name</var>] [<var class="Ar">name</var>
505 8797b228 2019-08-04 stsp [<var class="Ar">base-branch</var>]]</dt>
506 8797b228 2019-08-04 stsp <dd>Manage branches in a repository.
507 8797b228 2019-08-04 stsp <p class="Pp">Branches are managed via references which live in the
508 8797b228 2019-08-04 stsp &#x201C;refs/heads/&#x201D; reference namespace. The
509 8797b228 2019-08-04 stsp <code class="Cm">got branch</code> command operates on references in
510 8797b228 2019-08-04 stsp this namespace only.</p>
511 8797b228 2019-08-04 stsp <p class="Pp">If no options are passed, expect one or two arguments and
512 8797b228 2019-08-04 stsp attempt to create a branch with the given <var class="Ar">name</var>,
513 8797b228 2019-08-04 stsp and make it point at the given <var class="Ar">base-branch</var>. If no
514 8797b228 2019-08-04 stsp <var class="Ar">base-branch</var> is specified, default to the work
515 8797b228 2019-08-04 stsp tree's current branch if invoked in a work tree, or to the repository's
516 8797b228 2019-08-04 stsp HEAD reference.</p>
517 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got branch</code> are as
518 8797b228 2019-08-04 stsp follows:</p>
519 8797b228 2019-08-04 stsp <dl class="Bl-tag">
520 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#r_7"><code class="Fl" id="r_7">-r</code></a>
521 8797b228 2019-08-04 stsp <var class="Ar">repository-path</var></dt>
522 8797b228 2019-08-04 stsp <dd>Use the repository at the specified path. If not specified, assume the
523 8797b228 2019-08-04 stsp repository is located at or above the current working directory. If
524 8797b228 2019-08-04 stsp this directory is a <code class="Nm">got</code> work tree, use the
525 8797b228 2019-08-04 stsp repository path associated with this work tree.</dd>
526 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l_3"><code class="Fl" id="l_3">-l</code></a></dt>
527 8797b228 2019-08-04 stsp <dd>List all existing branches in the repository. If invoked in a work
528 8797b228 2019-08-04 stsp tree, the work tree's current branch is shown with one the following
529 8797b228 2019-08-04 stsp annotations:
530 8797b228 2019-08-04 stsp <table class="Bl-column">
531 8797b228 2019-08-04 stsp <tr>
532 8797b228 2019-08-04 stsp <td>*</td>
533 8797b228 2019-08-04 stsp <td>work tree's base commit matches the branch tip</td>
534 8797b228 2019-08-04 stsp </tr>
535 8797b228 2019-08-04 stsp <tr>
536 8797b228 2019-08-04 stsp <td>~</td>
537 8797b228 2019-08-04 stsp <td>work tree's base commit is out-of-date</td>
538 8797b228 2019-08-04 stsp </tr>
539 8797b228 2019-08-04 stsp </table>
540 8797b228 2019-08-04 stsp </dd>
541 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#d_2"><code class="Fl" id="d_2">-d</code></a>
542 8797b228 2019-08-04 stsp <var class="Ar">name</var></dt>
543 8797b228 2019-08-04 stsp <dd>Delete the branch with the specified name from the repository. Only
544 8797b228 2019-08-04 stsp the branch reference is deleted. Any commit, tree, and blob objects
545 8797b228 2019-08-04 stsp belonging to the branch remain in the repository and may be removed
546 8797b228 2019-08-04 stsp separately with Git's garbage collector.</dd>
547 8797b228 2019-08-04 stsp </dl>
548 8797b228 2019-08-04 stsp </dd>
549 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#br"><code class="Cm" id="br">br</code></a></dt>
550 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">branch</code>.</dd>
551 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#add"><code class="Cm" id="add">add</code></a>
552 8797b228 2019-08-04 stsp <var class="Ar">file-path ...</var></dt>
553 8797b228 2019-08-04 stsp <dd>Schedule unversioned files in a work tree for addition to the repository
554 8797b228 2019-08-04 stsp in the next commit.</dd>
555 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#remove"><code class="Cm" id="remove">remove</code></a>
556 8797b228 2019-08-04 stsp <var class="Ar">file-path ...</var></dt>
557 8797b228 2019-08-04 stsp <dd>Remove versioned files from a work tree and schedule them for deletion
558 8797b228 2019-08-04 stsp from the repository in the next commit.
559 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got remove</code> are as
560 8797b228 2019-08-04 stsp follows:</p>
561 8797b228 2019-08-04 stsp <dl class="Bl-tag">
562 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#f_2"><code class="Fl" id="f_2">-f</code></a></dt>
563 8797b228 2019-08-04 stsp <dd>Perform the operation even if a file contains uncommitted
564 8797b228 2019-08-04 stsp modifications.</dd>
565 8797b228 2019-08-04 stsp </dl>
566 8797b228 2019-08-04 stsp </dd>
567 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rm"><code class="Cm" id="rm">rm</code></a></dt>
568 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">remove</code>.</dd>
569 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#revert"><code class="Cm" id="revert">revert</code></a>
570 7da3b7f6 2019-08-08 stsp [<code class="Fl">-p</code>] [<code class="Fl">-F</code>
571 7da3b7f6 2019-08-08 stsp <var class="Ar">response-script</var>] [<code class="Fl">-R</code>]
572 7da3b7f6 2019-08-08 stsp <var class="Ar">path ...</var></dt>
573 8797b228 2019-08-04 stsp <dd>Revert any uncommited changes in files at the specified paths. File
574 8797b228 2019-08-04 stsp contents will be overwritten with those contained in the work tree's base
575 8797b228 2019-08-04 stsp commit. There is no way to bring discarded changes back after
576 8797b228 2019-08-04 stsp <code class="Cm">got revert</code>!
577 8797b228 2019-08-04 stsp <p class="Pp">If a file was added with <code class="Cm">got add</code> it
578 8797b228 2019-08-04 stsp will become an unversioned file again. If a file was deleted with
579 8797b228 2019-08-04 stsp <code class="Cm">got remove</code> it will be restored.</p>
580 7da3b7f6 2019-08-08 stsp <p class="Pp">The options for <code class="Cm">got revert</code> are as
581 7da3b7f6 2019-08-08 stsp follows:</p>
582 7da3b7f6 2019-08-08 stsp <dl class="Bl-tag">
583 7da3b7f6 2019-08-08 stsp <dt><a class="permalink" href="#p_3"><code class="Fl" id="p_3">-p</code></a></dt>
584 7da3b7f6 2019-08-08 stsp <dd>Instead of reverting all changes in files, interactively select or
585 7da3b7f6 2019-08-08 stsp reject changes to revert based on &#x201C;y&#x201D; (revert change),
586 7da3b7f6 2019-08-08 stsp &#x201C;n&#x201D; (keep change), and &#x201C;q&#x201D; (quit reverting
587 7da3b7f6 2019-08-08 stsp this file) responses. If a file is in modified status, individual
588 7da3b7f6 2019-08-08 stsp patches derived from the modified file content can be reverted. Files
589 7da3b7f6 2019-08-08 stsp in added or deleted status may only be reverted in their
590 7da3b7f6 2019-08-08 stsp entirety.</dd>
591 7da3b7f6 2019-08-08 stsp <dt><a class="permalink" href="#F"><code class="Fl" id="F">-F</code></a>
592 7da3b7f6 2019-08-08 stsp <var class="Ar">response-script</var></dt>
593 7da3b7f6 2019-08-08 stsp <dd>With the <code class="Fl">-p</code> option, read &#x201C;y&#x201D;,
594 7da3b7f6 2019-08-08 stsp &#x201C;n&#x201D;, and &#x201C;q&#x201D; responses line-by-line from
595 7da3b7f6 2019-08-08 stsp the specified <var class="Ar">response-script</var> file instead of
596 7da3b7f6 2019-08-08 stsp prompting interactively.</dd>
597 7da3b7f6 2019-08-08 stsp <dt><a class="permalink" href="#R_2"><code class="Fl" id="R_2">-R</code></a></dt>
598 7da3b7f6 2019-08-08 stsp <dd>Permit recursion into directories. If this option is not specified,
599 7da3b7f6 2019-08-08 stsp <code class="Cm">got revert</code> will refuse to run if a specified
600 7da3b7f6 2019-08-08 stsp <var class="Ar">path</var> is a directory.</dd>
601 7da3b7f6 2019-08-08 stsp </dl>
602 8797b228 2019-08-04 stsp </dd>
603 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rv"><code class="Cm" id="rv">rv</code></a></dt>
604 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">revert</code>.</dd>
605 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#commit"><code class="Cm" id="commit">commit</code></a>
606 8797b228 2019-08-04 stsp [<code class="Fl">-m</code> <var class="Ar">message</var>]
607 8797b228 2019-08-04 stsp [<var class="Ar">path ...</var>]</dt>
608 8797b228 2019-08-04 stsp <dd>Create a new commit in the repository from changes in a work tree and use
609 8797b228 2019-08-04 stsp this commit as the new base commit for the work tree. If no
610 8797b228 2019-08-04 stsp <var class="Ar">path</var> is specified, commit all changes in the work
611 8797b228 2019-08-04 stsp tree. Otherwise, commit changes at or within the specified paths.
612 8797b228 2019-08-04 stsp <p class="Pp">If changes have been explicitly staged for commit with
613 8797b228 2019-08-04 stsp <code class="Cm">got stage,</code> only commit staged changes and reject
614 8797b228 2019-08-04 stsp any specified paths which have not been staged.</p>
615 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
616 8797b228 2019-08-04 stsp status codes:</p>
617 8797b228 2019-08-04 stsp <table class="Bl-column">
618 8797b228 2019-08-04 stsp <tr>
619 8797b228 2019-08-04 stsp <td>M</td>
620 8797b228 2019-08-04 stsp <td>modified file</td>
621 8797b228 2019-08-04 stsp </tr>
622 8797b228 2019-08-04 stsp <tr>
623 8797b228 2019-08-04 stsp <td>D</td>
624 8797b228 2019-08-04 stsp <td>file was deleted</td>
625 8797b228 2019-08-04 stsp </tr>
626 8797b228 2019-08-04 stsp <tr>
627 8797b228 2019-08-04 stsp <td>A</td>
628 8797b228 2019-08-04 stsp <td>new file was added</td>
629 8797b228 2019-08-04 stsp </tr>
630 8797b228 2019-08-04 stsp </table>
631 ae520cae 2019-08-05 stsp <p class="Pp">Files which are not part of the new commit will retain their
632 ae520cae 2019-08-05 stsp previously recorded base commit. Some <code class="Nm">got</code>
633 ae520cae 2019-08-05 stsp commands may refuse to run while the work tree contains files from
634 ae520cae 2019-08-05 stsp multiple base commits. The base commit of such a work tree can be made
635 ae520cae 2019-08-05 stsp consistent by running <code class="Cm">got update</code> across the
636 ae520cae 2019-08-05 stsp entire work tree.</p>
637 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got commit</code> command requires the
638 8797b228 2019-08-04 stsp <code class="Ev">GOT_AUTHOR</code> environment variable to be set.</p>
639 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got commit</code> are as
640 8797b228 2019-08-04 stsp follows:</p>
641 8797b228 2019-08-04 stsp <dl class="Bl-tag">
642 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#m_2"><code class="Fl" id="m_2">-m</code></a>
643 8797b228 2019-08-04 stsp <var class="Ar">message</var></dt>
644 8797b228 2019-08-04 stsp <dd>Use the specified log message when creating the new commit. Without
645 8797b228 2019-08-04 stsp the <code class="Fl">-m</code> option, <code class="Cm">got
646 8797b228 2019-08-04 stsp commit</code> opens a temporary file in an editor where a log message
647 8797b228 2019-08-04 stsp can be written.</dd>
648 8797b228 2019-08-04 stsp </dl>
649 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got commit</code> will refuse to run if
650 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree's current branch is
651 8797b228 2019-08-04 stsp not in the &#x201C;refs/heads/&#x201D; reference namespace, new commits
652 8797b228 2019-08-04 stsp may not be created on this branch. Local changes may only be committed
653 8797b228 2019-08-04 stsp if they are based on file content found in the most recent commit on the
654 8797b228 2019-08-04 stsp work tree's branch. If a path is found to be out of date,
655 8797b228 2019-08-04 stsp <code class="Cm">got update</code> must be used first in order to merge
656 8797b228 2019-08-04 stsp local changes with changes made in the repository.</p>
657 8797b228 2019-08-04 stsp </dd>
658 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#ci"><code class="Cm" id="ci">ci</code></a></dt>
659 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">commit</code>.</dd>
660 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#cherrypick"><code class="Cm" id="cherrypick">cherrypick</code></a>
661 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
662 8797b228 2019-08-04 stsp <dd>Merge changes from a single <var class="Ar">commit</var> into the work
663 8797b228 2019-08-04 stsp tree. The specified <var class="Ar">commit</var> must be on a different
664 8797b228 2019-08-04 stsp branch than the work tree's base commit. The expected argument is a
665 8797b228 2019-08-04 stsp reference or a commit ID SHA1 hash. An abbreviated hash argument will be
666 8797b228 2019-08-04 stsp expanded to a full SHA1 hash automatically, provided the abbreviation is
667 8797b228 2019-08-04 stsp unique.
668 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
669 8797b228 2019-08-04 stsp status codes:</p>
670 8797b228 2019-08-04 stsp <table class="Bl-column">
671 8797b228 2019-08-04 stsp <tr>
672 8797b228 2019-08-04 stsp <td>G</td>
673 8797b228 2019-08-04 stsp <td>file was merged</td>
674 8797b228 2019-08-04 stsp </tr>
675 8797b228 2019-08-04 stsp <tr>
676 8797b228 2019-08-04 stsp <td>C</td>
677 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
678 8797b228 2019-08-04 stsp </tr>
679 8797b228 2019-08-04 stsp <tr>
680 8797b228 2019-08-04 stsp <td>!</td>
681 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
682 8797b228 2019-08-04 stsp </tr>
683 8797b228 2019-08-04 stsp <tr>
684 8797b228 2019-08-04 stsp <td>D</td>
685 8797b228 2019-08-04 stsp <td>file was deleted</td>
686 8797b228 2019-08-04 stsp </tr>
687 8797b228 2019-08-04 stsp <tr>
688 8797b228 2019-08-04 stsp <td>d</td>
689 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
690 8797b228 2019-08-04 stsp </tr>
691 8797b228 2019-08-04 stsp <tr>
692 8797b228 2019-08-04 stsp <td>A</td>
693 8797b228 2019-08-04 stsp <td>new file was added</td>
694 8797b228 2019-08-04 stsp </tr>
695 8797b228 2019-08-04 stsp <tr>
696 8797b228 2019-08-04 stsp <td>~</td>
697 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
698 8797b228 2019-08-04 stsp </tr>
699 8797b228 2019-08-04 stsp </table>
700 8797b228 2019-08-04 stsp <p class="Pp">The merged changes will appear as local changes in the work
701 8797b228 2019-08-04 stsp tree, which may be viewed with <code class="Cm">got diff</code>, amended
702 8797b228 2019-08-04 stsp manually or with further <code class="Cm">got cherrypick</code> comands,
703 8797b228 2019-08-04 stsp committed with <code class="Cm">got commit</code>, or discarded again
704 8797b228 2019-08-04 stsp with <code class="Cm">got revert</code>.</p>
705 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got cherrypick</code> will refuse to run if
706 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree contains multiple
707 8797b228 2019-08-04 stsp base commits it must first be updated to a single base commit with
708 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If the work tree already contains
709 8797b228 2019-08-04 stsp files with merge conflicts, these conflicts must be resolved first.</p>
710 8797b228 2019-08-04 stsp </dd>
711 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#cy"><code class="Cm" id="cy">cy</code></a></dt>
712 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">cherrypick</code>.</dd>
713 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#backout"><code class="Cm" id="backout">backout</code></a>
714 8797b228 2019-08-04 stsp <var class="Ar">commit</var></dt>
715 8797b228 2019-08-04 stsp <dd>Reverse-merge changes from a single <var class="Ar">commit</var> into the
716 8797b228 2019-08-04 stsp work tree. The specified <var class="Ar">commit</var> must be on the same
717 8797b228 2019-08-04 stsp branch as the work tree's base commit. The expected argument is a
718 8797b228 2019-08-04 stsp reference or a commit ID SHA1 hash. An abbreviated hash argument will be
719 8797b228 2019-08-04 stsp expanded to a full SHA1 hash automatically, provided the abbreviation is
720 8797b228 2019-08-04 stsp unique.
721 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
722 8797b228 2019-08-04 stsp status codes:</p>
723 8797b228 2019-08-04 stsp <table class="Bl-column">
724 8797b228 2019-08-04 stsp <tr>
725 8797b228 2019-08-04 stsp <td>G</td>
726 8797b228 2019-08-04 stsp <td>file was merged</td>
727 8797b228 2019-08-04 stsp </tr>
728 8797b228 2019-08-04 stsp <tr>
729 8797b228 2019-08-04 stsp <td>C</td>
730 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
731 8797b228 2019-08-04 stsp </tr>
732 8797b228 2019-08-04 stsp <tr>
733 8797b228 2019-08-04 stsp <td>!</td>
734 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
735 8797b228 2019-08-04 stsp </tr>
736 8797b228 2019-08-04 stsp <tr>
737 8797b228 2019-08-04 stsp <td>D</td>
738 8797b228 2019-08-04 stsp <td>file was deleted</td>
739 8797b228 2019-08-04 stsp </tr>
740 8797b228 2019-08-04 stsp <tr>
741 8797b228 2019-08-04 stsp <td>d</td>
742 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
743 8797b228 2019-08-04 stsp </tr>
744 8797b228 2019-08-04 stsp <tr>
745 8797b228 2019-08-04 stsp <td>A</td>
746 8797b228 2019-08-04 stsp <td>new file was added</td>
747 8797b228 2019-08-04 stsp </tr>
748 8797b228 2019-08-04 stsp <tr>
749 8797b228 2019-08-04 stsp <td>~</td>
750 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
751 8797b228 2019-08-04 stsp </tr>
752 8797b228 2019-08-04 stsp </table>
753 8797b228 2019-08-04 stsp <p class="Pp">The reverse-merged changes will appear as local changes in the
754 8797b228 2019-08-04 stsp work tree, which may be viewed with <code class="Cm">got diff</code>,
755 8797b228 2019-08-04 stsp amended manually or with further <code class="Cm">got backout</code>
756 8797b228 2019-08-04 stsp comands, committed with <code class="Cm">got commit</code>, or discarded
757 8797b228 2019-08-04 stsp again with <code class="Cm">got revert</code>.</p>
758 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got backout</code> will refuse to run if
759 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree contains multiple
760 8797b228 2019-08-04 stsp base commits it must first be updated to a single base commit with
761 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If the work tree already contains
762 8797b228 2019-08-04 stsp files with merge conflicts, these conflicts must be resolved first.</p>
763 8797b228 2019-08-04 stsp </dd>
764 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#bo"><code class="Cm" id="bo">bo</code></a></dt>
765 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">backout</code>.</dd>
766 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rebase"><code class="Cm" id="rebase">rebase</code></a>
767 8797b228 2019-08-04 stsp [<code class="Fl">-a</code>] [<code class="Fl">-c]</code>
768 8797b228 2019-08-04 stsp [<var class="Ar">branch</var>]</dt>
769 8797b228 2019-08-04 stsp <dd>Rebase commits on the specified <var class="Ar">branch</var> onto the tip
770 8797b228 2019-08-04 stsp of the current branch of the work tree. The <var class="Ar">branch</var>
771 8797b228 2019-08-04 stsp must share common ancestry with the work tree's current branch. Rebasing
772 8797b228 2019-08-04 stsp begins with the first descendent commit of the youngest common ancestor
773 8797b228 2019-08-04 stsp commit shared by the specified <var class="Ar">branch</var> and the work
774 8797b228 2019-08-04 stsp tree's current branch, and stops once the tip commit of the specified
775 8797b228 2019-08-04 stsp <var class="Ar">branch</var> has been rebased.
776 8797b228 2019-08-04 stsp <p class="Pp">Rebased commits are accumulated on a temporary branch which
777 8797b228 2019-08-04 stsp the work tree will remain switched to throughout the entire rebase
778 8797b228 2019-08-04 stsp operation. Commits on this branch represent the same changes with the
779 8797b228 2019-08-04 stsp same log messages as their counterparts on the original
780 8797b228 2019-08-04 stsp <var class="Ar">branch</var>, but with different commit IDs. Once
781 8797b228 2019-08-04 stsp rebasing has completed successfully, the temporary branch becomes the
782 8797b228 2019-08-04 stsp new version of the specified <var class="Ar">branch</var> and the work
783 8797b228 2019-08-04 stsp tree is automatically switched to it.</p>
784 8797b228 2019-08-04 stsp <p class="Pp">While rebasing commits, show the status of each affected file,
785 8797b228 2019-08-04 stsp using the following status codes:</p>
786 8797b228 2019-08-04 stsp <table class="Bl-column">
787 8797b228 2019-08-04 stsp <tr>
788 8797b228 2019-08-04 stsp <td>G</td>
789 8797b228 2019-08-04 stsp <td>file was merged</td>
790 8797b228 2019-08-04 stsp </tr>
791 8797b228 2019-08-04 stsp <tr>
792 8797b228 2019-08-04 stsp <td>C</td>
793 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
794 8797b228 2019-08-04 stsp </tr>
795 8797b228 2019-08-04 stsp <tr>
796 8797b228 2019-08-04 stsp <td>!</td>
797 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
798 8797b228 2019-08-04 stsp </tr>
799 8797b228 2019-08-04 stsp <tr>
800 8797b228 2019-08-04 stsp <td>D</td>
801 8797b228 2019-08-04 stsp <td>file was deleted</td>
802 8797b228 2019-08-04 stsp </tr>
803 8797b228 2019-08-04 stsp <tr>
804 8797b228 2019-08-04 stsp <td>d</td>
805 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
806 8797b228 2019-08-04 stsp </tr>
807 8797b228 2019-08-04 stsp <tr>
808 8797b228 2019-08-04 stsp <td>A</td>
809 8797b228 2019-08-04 stsp <td>new file was added</td>
810 8797b228 2019-08-04 stsp </tr>
811 8797b228 2019-08-04 stsp <tr>
812 8797b228 2019-08-04 stsp <td>~</td>
813 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
814 8797b228 2019-08-04 stsp </tr>
815 8797b228 2019-08-04 stsp </table>
816 8797b228 2019-08-04 stsp <p class="Pp">If merge conflicts occur the rebase operation is interrupted
817 8797b228 2019-08-04 stsp and may be continued once conflicts have been resolved. Alternatively,
818 8797b228 2019-08-04 stsp the rebase operation may be aborted which will leave
819 8797b228 2019-08-04 stsp <var class="Ar">branch</var> unmodified and the work tree switched back
820 8797b228 2019-08-04 stsp to its original branch.</p>
821 8797b228 2019-08-04 stsp <p class="Pp">If a merge conflict is resolved in a way which renders the
822 8797b228 2019-08-04 stsp merged change into a no-op change, the corresponding commit will be
823 8797b228 2019-08-04 stsp elided when the rebase operation continues.</p>
824 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got rebase</code> will refuse to run if
825 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree contains multiple
826 8797b228 2019-08-04 stsp base commits it must first be updated to a single base commit with
827 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If changes have been staged with
828 8797b228 2019-08-04 stsp <code class="Cm">got stage</code>, these changes must first be comitted
829 8797b228 2019-08-04 stsp with <code class="Cm">got commit</code> or unstaged with
830 8797b228 2019-08-04 stsp <code class="Cm">got unstage</code>. If the work tree contains local
831 8797b228 2019-08-04 stsp changes, these changes must first be committed with <code class="Cm">got
832 8797b228 2019-08-04 stsp commit</code> or reverted with <code class="Cm">got revert</code>. If
833 8797b228 2019-08-04 stsp the <var class="Ar">branch</var> contains changes to files outside of
834 8797b228 2019-08-04 stsp the work tree's path prefix, the work tree cannot be used to rebase this
835 8797b228 2019-08-04 stsp branch.</p>
836 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got update</code> and
837 8797b228 2019-08-04 stsp <code class="Cm">got commit</code> commands will refuse to run while a
838 8797b228 2019-08-04 stsp rebase operation is in progress. Other commands which manipulate the
839 8797b228 2019-08-04 stsp work tree may be used for conflict resolution purposes.</p>
840 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got rebase</code> are as
841 8797b228 2019-08-04 stsp follows:</p>
842 8797b228 2019-08-04 stsp <dl class="Bl-tag">
843 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#a"><code class="Fl" id="a">-a</code></a></dt>
844 8797b228 2019-08-04 stsp <dd>Abort an interrupted rebase operation. If this option is used, no
845 9b0c768d 2019-08-08 stsp other command-line arguments are allowed.</dd>
846 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_6"><code class="Fl" id="c_6">-c</code></a></dt>
847 8797b228 2019-08-04 stsp <dd>Continue an interrupted rebase operation. If this option is used, no
848 9b0c768d 2019-08-08 stsp other command-line arguments are allowed.</dd>
849 8797b228 2019-08-04 stsp </dl>
850 8797b228 2019-08-04 stsp </dd>
851 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#rb"><code class="Cm" id="rb">rb</code></a></dt>
852 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">rebase</code>.</dd>
853 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#histedit"><code class="Cm" id="histedit">histedit</code></a>
854 8797b228 2019-08-04 stsp [<code class="Fl">-a</code>] [<code class="Fl">-c]</code>
855 8797b228 2019-08-04 stsp [<code class="Fl">-F</code> <var class="Ar">histedit-script</var>]</dt>
856 8797b228 2019-08-04 stsp <dd>Edit commit history between the work tree's current base commit and the
857 8797b228 2019-08-04 stsp tip commit of the work tree's current branch.
858 8797b228 2019-08-04 stsp <p class="Pp">Editing of commit history is controlled via a
859 8797b228 2019-08-04 stsp <var class="Ar">histedit script</var> which can be edited interactively
860 8797b228 2019-08-04 stsp or passed on the command line. The format of the histedit script is
861 8797b228 2019-08-04 stsp line-based. Each line in the script begins with a command name, followed
862 8797b228 2019-08-04 stsp by whitespace and an argument. For most commands, the expected argument
863 8797b228 2019-08-04 stsp is a commit ID SHA1 hash. Any remaining text on the line is ignored.
864 8797b228 2019-08-04 stsp Lines which begin with the &#x2018;#&#x2019; character are ignored
865 8797b228 2019-08-04 stsp entirely.</p>
866 8797b228 2019-08-04 stsp <p class="Pp">The available commands are as follows:</p>
867 8797b228 2019-08-04 stsp <table class="Bl-column">
868 8797b228 2019-08-04 stsp <tr>
869 8797b228 2019-08-04 stsp <td>pick <var class="Ar">commit</var></td>
870 8797b228 2019-08-04 stsp <td>Use the specified commit as it is.</td>
871 8797b228 2019-08-04 stsp </tr>
872 8797b228 2019-08-04 stsp <tr>
873 8797b228 2019-08-04 stsp <td>edit <var class="Ar">commit</var></td>
874 8797b228 2019-08-04 stsp <td>Use the specified commit but once changes have been merged into the
875 8797b228 2019-08-04 stsp work tree interrupt the histedit operation for amending.</td>
876 8797b228 2019-08-04 stsp </tr>
877 8797b228 2019-08-04 stsp <tr>
878 8797b228 2019-08-04 stsp <td>fold <var class="Ar">commit</var></td>
879 8797b228 2019-08-04 stsp <td>Combine the specified commit with the next commit listed further
880 8797b228 2019-08-04 stsp below that will be used.</td>
881 8797b228 2019-08-04 stsp </tr>
882 8797b228 2019-08-04 stsp <tr>
883 8797b228 2019-08-04 stsp <td>drop <var class="Ar">commit</var></td>
884 8797b228 2019-08-04 stsp <td>Remove this commit from the edited history.</td>
885 8797b228 2019-08-04 stsp </tr>
886 8797b228 2019-08-04 stsp <tr>
887 8797b228 2019-08-04 stsp <td>mesg <var class="Ar">log-message</var></td>
888 8797b228 2019-08-04 stsp <td>Use the specified single-line log message for the commit on the
889 8797b228 2019-08-04 stsp previous line. If the log message argument is left empty, open an
890 8797b228 2019-08-04 stsp editor where a new log message can be written.</td>
891 8797b228 2019-08-04 stsp </tr>
892 8797b228 2019-08-04 stsp </table>
893 8797b228 2019-08-04 stsp <p class="Pp">Every commit in the history being edited must be mentioned in
894 8797b228 2019-08-04 stsp the script. Lines may be re-ordered to change the order of commits in
895 8797b228 2019-08-04 stsp the edited history.</p>
896 8797b228 2019-08-04 stsp <p class="Pp">Edited commits are accumulated on a temporary branch which the
897 8797b228 2019-08-04 stsp work tree will remain switched to throughout the entire histedit
898 8797b228 2019-08-04 stsp operation. Once history editing has completed successfully, the
899 8797b228 2019-08-04 stsp temporary branch becomes the new version of the work tree's branch and
900 8797b228 2019-08-04 stsp the work tree is automatically switched to it.</p>
901 8797b228 2019-08-04 stsp <p class="Pp">While merging commits, show the status of each affected file,
902 8797b228 2019-08-04 stsp using the following status codes:</p>
903 8797b228 2019-08-04 stsp <table class="Bl-column">
904 8797b228 2019-08-04 stsp <tr>
905 8797b228 2019-08-04 stsp <td>G</td>
906 8797b228 2019-08-04 stsp <td>file was merged</td>
907 8797b228 2019-08-04 stsp </tr>
908 8797b228 2019-08-04 stsp <tr>
909 8797b228 2019-08-04 stsp <td>C</td>
910 8797b228 2019-08-04 stsp <td>file was merged and conflicts occurred during merge</td>
911 8797b228 2019-08-04 stsp </tr>
912 8797b228 2019-08-04 stsp <tr>
913 8797b228 2019-08-04 stsp <td>!</td>
914 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
915 8797b228 2019-08-04 stsp </tr>
916 8797b228 2019-08-04 stsp <tr>
917 8797b228 2019-08-04 stsp <td>D</td>
918 8797b228 2019-08-04 stsp <td>file was deleted</td>
919 8797b228 2019-08-04 stsp </tr>
920 8797b228 2019-08-04 stsp <tr>
921 8797b228 2019-08-04 stsp <td>d</td>
922 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
923 8797b228 2019-08-04 stsp </tr>
924 8797b228 2019-08-04 stsp <tr>
925 8797b228 2019-08-04 stsp <td>A</td>
926 8797b228 2019-08-04 stsp <td>new file was added</td>
927 8797b228 2019-08-04 stsp </tr>
928 8797b228 2019-08-04 stsp <tr>
929 8797b228 2019-08-04 stsp <td>~</td>
930 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
931 8797b228 2019-08-04 stsp </tr>
932 8797b228 2019-08-04 stsp </table>
933 8797b228 2019-08-04 stsp <p class="Pp">If merge conflicts occur the histedit operation is interrupted
934 8797b228 2019-08-04 stsp and may be continued once conflicts have been resolved. Alternatively,
935 8797b228 2019-08-04 stsp the histedit operation may be aborted which will leave the work tree
936 8797b228 2019-08-04 stsp switched back to its original branch.</p>
937 8797b228 2019-08-04 stsp <p class="Pp">If a merge conflict is resolved in a way which renders the
938 8797b228 2019-08-04 stsp merged change into a no-op change, the corresponding commit will be
939 8797b228 2019-08-04 stsp elided when the histedit operation continues.</p>
940 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got histedit</code> will refuse to run if
941 8797b228 2019-08-04 stsp certain preconditions are not met. If the work tree's current branch is
942 8797b228 2019-08-04 stsp not in the &#x201C;refs/heads/&#x201D; reference namespace, the history
943 8797b228 2019-08-04 stsp of the branch may not be edited. If the work tree contains multiple base
944 8797b228 2019-08-04 stsp commits it must first be updated to a single base commit with
945 8797b228 2019-08-04 stsp <code class="Cm">got update</code>. If changes have been staged with
946 8797b228 2019-08-04 stsp <code class="Cm">got stage</code>, these changes must first be comitted
947 8797b228 2019-08-04 stsp with <code class="Cm">got commit</code> or unstaged with
948 8797b228 2019-08-04 stsp <code class="Cm">got unstage</code>. If the work tree contains local
949 8797b228 2019-08-04 stsp changes, these changes must first be committed with <code class="Cm">got
950 8797b228 2019-08-04 stsp commit</code> or reverted with <code class="Cm">got revert</code>. If
951 8797b228 2019-08-04 stsp the edited history contains changes to files outside of the work tree's
952 8797b228 2019-08-04 stsp path prefix, the work tree cannot be used to edit the history of this
953 8797b228 2019-08-04 stsp branch.</p>
954 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got update</code> command will refuse to
955 8797b228 2019-08-04 stsp run while a histedit operation is in progress. Other commands which
956 8797b228 2019-08-04 stsp manipulate the work tree may be used, and the <code class="Cm">got
957 8797b228 2019-08-04 stsp commit</code> command may be used to commit arbitrary changes to the
958 8797b228 2019-08-04 stsp temporary branch while the histedit operation is interrupted.</p>
959 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got histedit</code> are as
960 8797b228 2019-08-04 stsp follows:</p>
961 8797b228 2019-08-04 stsp <dl class="Bl-tag">
962 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#a_2"><code class="Fl" id="a_2">-a</code></a></dt>
963 8797b228 2019-08-04 stsp <dd>Abort an interrupted histedit operation. If this option is used, no
964 9b0c768d 2019-08-08 stsp other command-line arguments are allowed.</dd>
965 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#c_7"><code class="Fl" id="c_7">-c</code></a></dt>
966 8797b228 2019-08-04 stsp <dd>Continue an interrupted histedit operation. If this option is used, no
967 9b0c768d 2019-08-08 stsp other command-line arguments are allowed.</dd>
968 8797b228 2019-08-04 stsp </dl>
969 8797b228 2019-08-04 stsp </dd>
970 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#he"><code class="Cm" id="he">he</code></a></dt>
971 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">histedit</code>.</dd>
972 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#stage"><code class="Cm" id="stage">stage</code></a>
973 e0ed36ae 2019-08-07 stsp [<code class="Fl">-l</code>] [<code class="Fl">-p</code>]
974 37b56b1f 2019-08-07 stsp [<code class="Fl">-F</code> <var class="Ar">response-script</var>]
975 37b56b1f 2019-08-07 stsp [<var class="Ar">path ...</var>]</dt>
976 e0ed36ae 2019-08-07 stsp <dd>Stage local changes for inclusion in the next commit. If no
977 e0ed36ae 2019-08-07 stsp <var class="Ar">path</var> is specified, stage all changes in the work
978 e0ed36ae 2019-08-07 stsp tree. Otherwise, stage changes at or within the specified paths. Paths may
979 e0ed36ae 2019-08-07 stsp be staged if they are added, modified, or deleted according to
980 e0ed36ae 2019-08-07 stsp <code class="Cm">got status</code>.
981 00261839 2019-08-05 stsp <p class="Pp">Show the status of each affected file, using the following
982 00261839 2019-08-05 stsp status codes:</p>
983 00261839 2019-08-05 stsp <table class="Bl-column">
984 00261839 2019-08-05 stsp <tr>
985 00261839 2019-08-05 stsp <td>A</td>
986 00261839 2019-08-05 stsp <td>file addition has been staged</td>
987 00261839 2019-08-05 stsp </tr>
988 00261839 2019-08-05 stsp <tr>
989 00261839 2019-08-05 stsp <td>M</td>
990 00261839 2019-08-05 stsp <td>file modification has been staged</td>
991 00261839 2019-08-05 stsp </tr>
992 00261839 2019-08-05 stsp <tr>
993 00261839 2019-08-05 stsp <td>D</td>
994 00261839 2019-08-05 stsp <td>file deletion has been staged</td>
995 00261839 2019-08-05 stsp </tr>
996 00261839 2019-08-05 stsp </table>
997 00261839 2019-08-05 stsp <p class="Pp">Staged file contents are saved in newly created blob objects
998 00261839 2019-08-05 stsp in the repository. These blobs will be referred to by tree objects once
999 00261839 2019-08-05 stsp staged changes have been committed.</p>
1000 8797b228 2019-08-04 stsp <p class="Pp">Staged changes affect the behaviour of <code class="Cm">got
1001 8797b228 2019-08-04 stsp commit</code>, <code class="Cm">got status</code>, and
1002 8797b228 2019-08-04 stsp <code class="Cm">got diff</code>. While paths with staged changes exist,
1003 8797b228 2019-08-04 stsp the <code class="Cm">got commit</code> command will refuse to commit any
1004 8797b228 2019-08-04 stsp paths which do not have staged changes. Local changes created on top of
1005 8797b228 2019-08-04 stsp staged changes can only be committed if the path is staged again, or if
1006 8797b228 2019-08-04 stsp the staged changes are committed first. The <code class="Cm">got
1007 8797b228 2019-08-04 stsp status</code> command will show both local changes and staged changes.
1008 8797b228 2019-08-04 stsp The <code class="Cm">got diff</code> command is able to display local
1009 8797b228 2019-08-04 stsp changes relative to staged changes, and to display staged changes
1010 8797b228 2019-08-04 stsp relative to the repository. The <code class="Cm">got revert</code>
1011 8797b228 2019-08-04 stsp command cannot revert staged changes but may be used to revert local
1012 fc62dacd 2019-08-08 stsp changes created on top of staged changes.</p>
1013 8797b228 2019-08-04 stsp <p class="Pp">The options for <code class="Cm">got stage</code> are as
1014 8797b228 2019-08-04 stsp follows:</p>
1015 8797b228 2019-08-04 stsp <dl class="Bl-tag">
1016 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#l_4"><code class="Fl" id="l_4">-l</code></a></dt>
1017 8797b228 2019-08-04 stsp <dd>Instead of staging new changes, list paths which are already staged,
1018 00261839 2019-08-05 stsp along with the IDs of staged blob objects and stage status codes. If
1019 00261839 2019-08-05 stsp paths were provided in the command line show the staged paths among
1020 00261839 2019-08-05 stsp the specified paths. Otherwise, show all staged paths.</dd>
1021 7da3b7f6 2019-08-08 stsp <dt><a class="permalink" href="#p_4"><code class="Fl" id="p_4">-p</code></a></dt>
1022 e0ed36ae 2019-08-07 stsp <dd>Instead of staging the entire content of a changed file, interactively
1023 fc62dacd 2019-08-08 stsp select or reject changes for staging based on &#x201C;y&#x201D; (stage
1024 fc62dacd 2019-08-08 stsp change), &#x201C;n&#x201D; (reject change), and &#x201C;q&#x201D;
1025 fc62dacd 2019-08-08 stsp (quit staging this file) responses. If a file is in modified status,
1026 fc62dacd 2019-08-08 stsp individual patches derived from the modified file content can be
1027 fc62dacd 2019-08-08 stsp staged. Files in added or deleted status may only be staged or
1028 fc62dacd 2019-08-08 stsp rejected in their entirety.</dd>
1029 7da3b7f6 2019-08-08 stsp <dt><a class="permalink" href="#F_2"><code class="Fl" id="F_2">-F</code></a>
1030 37b56b1f 2019-08-07 stsp <var class="Ar">response-script</var></dt>
1031 37b56b1f 2019-08-07 stsp <dd>With the <code class="Fl">-p</code> option, read &#x201C;y&#x201D;,
1032 cdd51db2 2019-08-07 stsp &#x201C;n&#x201D;, and &#x201C;q&#x201D; responses line-by-line from
1033 cdd51db2 2019-08-07 stsp the specified <var class="Ar">response-script</var> file instead of
1034 cdd51db2 2019-08-07 stsp prompting interactively.</dd>
1035 8797b228 2019-08-04 stsp </dl>
1036 8797b228 2019-08-04 stsp <p class="Pp"><code class="Cm">got stage</code> will refuse to run if
1037 8797b228 2019-08-04 stsp certain preconditions are not met. If a file contains merge conflicts,
1038 8797b228 2019-08-04 stsp these conflicts must be resolved first. If a file is found to be out of
1039 8797b228 2019-08-04 stsp date relative to the head commit on the work tree's current branch, the
1040 8797b228 2019-08-04 stsp file must be updated with <code class="Cm">got update</code> before it
1041 8797b228 2019-08-04 stsp can be staged (however, this does not prevent the file from becoming
1042 8797b228 2019-08-04 stsp out-of-date at some point after having been staged).</p>
1043 8797b228 2019-08-04 stsp <p class="Pp">The <code class="Cm">got update</code>, <code class="Cm">got
1044 8797b228 2019-08-04 stsp rebase</code>, and <code class="Cm">got histedit</code> commands will
1045 8797b228 2019-08-04 stsp refuse to run while staged changes exist. If staged changes cannot be
1046 8797b228 2019-08-04 stsp committed because a staged path is out of date, the path must be
1047 8797b228 2019-08-04 stsp unstaged with <code class="Cm">got unstage</code> before it can be
1048 8797b228 2019-08-04 stsp updated with <code class="Cm">got update</code>, and may then be staged
1049 8797b228 2019-08-04 stsp again if necessary.</p>
1050 8797b228 2019-08-04 stsp </dd>
1051 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#sg"><code class="Cm" id="sg">sg</code></a></dt>
1052 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">stage</code>.</dd>
1053 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#unstage"><code class="Cm" id="unstage">unstage</code></a>
1054 fc62dacd 2019-08-08 stsp [<code class="Fl">-p</code>] [<code class="Fl">-F</code>
1055 fc62dacd 2019-08-08 stsp <var class="Ar">response-script</var>] [<var class="Ar">path ...</var>]</dt>
1056 8797b228 2019-08-04 stsp <dd>Merge staged changes back into the work tree and put affected paths back
1057 8797b228 2019-08-04 stsp into non-staged status. If no <var class="Ar">path</var> is specified,
1058 e0ed36ae 2019-08-07 stsp unstage all staged changes across the entire work tree. Otherwise, unstage
1059 e0ed36ae 2019-08-07 stsp changes at or within the specified paths.
1060 8797b228 2019-08-04 stsp <p class="Pp">Show the status of each affected file, using the following
1061 8797b228 2019-08-04 stsp status codes:</p>
1062 8797b228 2019-08-04 stsp <table class="Bl-column">
1063 8797b228 2019-08-04 stsp <tr>
1064 8797b228 2019-08-04 stsp <td>G</td>
1065 8797b228 2019-08-04 stsp <td>file was unstaged</td>
1066 8797b228 2019-08-04 stsp </tr>
1067 8797b228 2019-08-04 stsp <tr>
1068 8797b228 2019-08-04 stsp <td>C</td>
1069 8797b228 2019-08-04 stsp <td>file was unstaged and conflicts occurred during merge</td>
1070 8797b228 2019-08-04 stsp </tr>
1071 8797b228 2019-08-04 stsp <tr>
1072 8797b228 2019-08-04 stsp <td>!</td>
1073 8797b228 2019-08-04 stsp <td>changes destined for a missing file were not merged</td>
1074 8797b228 2019-08-04 stsp </tr>
1075 8797b228 2019-08-04 stsp <tr>
1076 8797b228 2019-08-04 stsp <td>D</td>
1077 8797b228 2019-08-04 stsp <td>file was staged as deleted and still is deleted</td>
1078 8797b228 2019-08-04 stsp </tr>
1079 8797b228 2019-08-04 stsp <tr>
1080 8797b228 2019-08-04 stsp <td>d</td>
1081 8797b228 2019-08-04 stsp <td>file's deletion was obstructed by local modifications</td>
1082 8797b228 2019-08-04 stsp </tr>
1083 8797b228 2019-08-04 stsp <tr>
1084 8797b228 2019-08-04 stsp <td>~</td>
1085 8797b228 2019-08-04 stsp <td>changes destined for a non-regular file were not merged</td>
1086 8797b228 2019-08-04 stsp </tr>
1087 8797b228 2019-08-04 stsp </table>
1088 fc62dacd 2019-08-08 stsp <p class="Pp">The options for <code class="Cm">got unstage</code> are as
1089 fc62dacd 2019-08-08 stsp follows:</p>
1090 fc62dacd 2019-08-08 stsp <dl class="Bl-tag">
1091 7da3b7f6 2019-08-08 stsp <dt><a class="permalink" href="#p_5"><code class="Fl" id="p_5">-p</code></a></dt>
1092 fc62dacd 2019-08-08 stsp <dd>Instead of unstaging the entire content of a changed file,
1093 fc62dacd 2019-08-08 stsp interactively select or reject changes for unstaging based on
1094 fc62dacd 2019-08-08 stsp &#x201C;y&#x201D; (unstage change), &#x201C;n&#x201D; (keep change
1095 fc62dacd 2019-08-08 stsp staged), and &#x201C;q&#x201D; (quit unstaging this file) responses.
1096 fc62dacd 2019-08-08 stsp If a file is staged in modified status, individual patches derived
1097 fc62dacd 2019-08-08 stsp from the staged file content can be unstaged. Files staged in added or
1098 fc62dacd 2019-08-08 stsp deleted status may only be unstaged in their entirety.</dd>
1099 7da3b7f6 2019-08-08 stsp <dt><a class="permalink" href="#F_3"><code class="Fl" id="F_3">-F</code></a>
1100 fc62dacd 2019-08-08 stsp <var class="Ar">response-script</var></dt>
1101 fc62dacd 2019-08-08 stsp <dd>With the <code class="Fl">-p</code> option, read &#x201C;y&#x201D;,
1102 fc62dacd 2019-08-08 stsp &#x201C;n&#x201D;, and &#x201C;q&#x201D; responses line-by-line from
1103 fc62dacd 2019-08-08 stsp the specified <var class="Ar">response-script</var> file instead of
1104 fc62dacd 2019-08-08 stsp prompting interactively.</dd>
1105 fc62dacd 2019-08-08 stsp </dl>
1106 8797b228 2019-08-04 stsp </dd>
1107 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#ug"><code class="Cm" id="ug">ug</code></a></dt>
1108 8797b228 2019-08-04 stsp <dd>Short alias for <code class="Cm">unstage</code>.</dd>
1109 8797b228 2019-08-04 stsp </dl>
1110 8797b228 2019-08-04 stsp </section>
1111 8797b228 2019-08-04 stsp <section class="Sh">
1112 8797b228 2019-08-04 stsp <h1 class="Sh" id="ENVIRONMENT"><a class="permalink" href="#ENVIRONMENT">ENVIRONMENT</a></h1>
1113 8797b228 2019-08-04 stsp <dl class="Bl-tag">
1114 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#GOT_AUTHOR"><code class="Ev" id="GOT_AUTHOR">GOT_AUTHOR</code></a></dt>
1115 8797b228 2019-08-04 stsp <dd>The author's name and email address for <code class="Cm">got commit</code>
1116 847d5fba 2019-08-06 stsp and <code class="Cm">got import</code>, for example: <span class="An">Flan
1117 847d5fba 2019-08-06 stsp Hacker</span>
1118 847d5fba 2019-08-06 stsp &lt;<a class="Mt" href="mailto:flan_hacker@openbsd.org">flan_hacker@openbsd.org</a>&gt;</dd>
1119 8797b228 2019-08-04 stsp <dt><a class="permalink" href="#VISUAL,"><code class="Ev" id="VISUAL,">VISUAL,</code></a>
1120 8797b228 2019-08-04 stsp <code class="Ev">EDITOR</code></dt>
1121 8797b228 2019-08-04 stsp <dd>The editor spawned by <code class="Cm">got commit</code>.</dd>
1122 8797b228 2019-08-04 stsp </dl>
1123 8797b228 2019-08-04 stsp </section>
1124 8797b228 2019-08-04 stsp <section class="Sh">
1125 8797b228 2019-08-04 stsp <h1 class="Sh" id="EXIT_STATUS"><a class="permalink" href="#EXIT_STATUS">EXIT
1126 8797b228 2019-08-04 stsp STATUS</a></h1>
1127 8797b228 2019-08-04 stsp The <code class="Nm">got</code> utility exits&#x00A0;0 on success,
1128 8797b228 2019-08-04 stsp and&#x00A0;&gt;0 if an error occurs.
1129 8797b228 2019-08-04 stsp </section>
1130 8797b228 2019-08-04 stsp <section class="Sh">
1131 8797b228 2019-08-04 stsp <h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
1132 8797b228 2019-08-04 stsp Clone an existing Git repository for use with <code class="Nm">got</code>. This
1133 8797b228 2019-08-04 stsp step currently requires <a class="Xr">git(1)</a>:
1134 8797b228 2019-08-04 stsp <p class="Pp"></p>
1135 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/</code></div>
1136 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git clone --bare
1137 8797b228 2019-08-04 stsp https://github.com/openbsd/src.git</code></div>
1138 8797b228 2019-08-04 stsp <p class="Pp">Alternatively, for quick and dirty local testing of
1139 8797b228 2019-08-04 stsp <code class="Nm">got</code> a new Git repository could be created and
1140 8797b228 2019-08-04 stsp populated with files, e.g. from a temporary CVS checkout located at
1141 8797b228 2019-08-04 stsp <span class="Pa">/tmp/src</span>:</p>
1142 8797b228 2019-08-04 stsp <p class="Pp"></p>
1143 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got init
1144 8797b228 2019-08-04 stsp /var/git/src.git</code></div>
1145 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got import -r /var/git/src.git -I
1146 8797b228 2019-08-04 stsp CVS -I obj /tmp/src</code></div>
1147 8797b228 2019-08-04 stsp <p class="Pp">Check out a work tree from the Git repository to /usr/src:</p>
1148 8797b228 2019-08-04 stsp <p class="Pp"></p>
1149 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got checkout /var/git/src.git
1150 8797b228 2019-08-04 stsp /usr/src</code></div>
1151 8797b228 2019-08-04 stsp <p class="Pp">View local changes in a work tree directory:</p>
1152 8797b228 2019-08-04 stsp <p class="Pp"></p>
1153 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got status</code></div>
1154 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got diff | less</code></div>
1155 7da3b7f6 2019-08-08 stsp <p class="Pp">Interactively revert selected local changes in a work tree
1156 7da3b7f6 2019-08-08 stsp directory:</p>
1157 7da3b7f6 2019-08-08 stsp <p class="Pp"></p>
1158 7da3b7f6 2019-08-08 stsp <div class="Bd Bd-indent"><code class="Li">$ got revert -p
1159 7da3b7f6 2019-08-08 stsp -R&#x00A0;.</code></div>
1160 8797b228 2019-08-04 stsp <p class="Pp">In a work tree or a git repository directory, list all branch
1161 8797b228 2019-08-04 stsp references:</p>
1162 8797b228 2019-08-04 stsp <p class="Pp"></p>
1163 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got branch -l</code></div>
1164 8797b228 2019-08-04 stsp <p class="Pp">In a work tree or a git repository directory, create a new branch
1165 8797b228 2019-08-04 stsp called &#x201C;unified-buffer-cache&#x201D; which is forked off the
1166 8797b228 2019-08-04 stsp &#x201C;master&#x201D; branch:</p>
1167 8797b228 2019-08-04 stsp <p class="Pp"></p>
1168 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got branch unified-buffer-cache
1169 8797b228 2019-08-04 stsp master</code></div>
1170 8797b228 2019-08-04 stsp <p class="Pp">Switch an existing work tree to the branch
1171 8797b228 2019-08-04 stsp &#x201C;unified-buffer-cache&#x201D;. Local changes in the work tree will be
1172 8797b228 2019-08-04 stsp preserved and merged if necessary:</p>
1173 8797b228 2019-08-04 stsp <p class="Pp"></p>
1174 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b
1175 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1176 8797b228 2019-08-04 stsp <p class="Pp">Create a new commit from local changes in a work tree directory.
1177 8797b228 2019-08-04 stsp This new commit will become the head commit of the work tree's current
1178 8797b228 2019-08-04 stsp branch:</p>
1179 8797b228 2019-08-04 stsp <p class="Pp"></p>
1180 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got commit</code></div>
1181 8797b228 2019-08-04 stsp <p class="Pp">In a work tree or a git repository directory, view changes
1182 8797b228 2019-08-04 stsp committed in the 3 most recent commits to the work tree's branch, or the
1183 8797b228 2019-08-04 stsp branch resolved via the repository's HEAD reference, respectively:</p>
1184 8797b228 2019-08-04 stsp <p class="Pp"></p>
1185 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got log -p -l 3 -f</code></div>
1186 8797b228 2019-08-04 stsp <p class="Pp">Add new files and remove obsolete files in a work tree
1187 8797b228 2019-08-04 stsp directory:</p>
1188 8797b228 2019-08-04 stsp <p class="Pp"></p>
1189 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got add
1190 8797b228 2019-08-04 stsp sys/uvm/uvm_ubc.c</code></div>
1191 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got remove
1192 8797b228 2019-08-04 stsp sys/uvm/uvm_vnode.c</code></div>
1193 8797b228 2019-08-04 stsp <p class="Pp">Create a new commit from local changes in a work tree directory
1194 8797b228 2019-08-04 stsp with a pre-defined log message.</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">$ got commit -m 'unify the buffer
1197 8797b228 2019-08-04 stsp cache'</code></div>
1198 8797b228 2019-08-04 stsp <p class="Pp">Update any work tree checked out from the
1199 8797b228 2019-08-04 stsp &#x201C;unified-buffer-cache&#x201D; branch to the latest commit on this
1200 8797b228 2019-08-04 stsp 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</code></div>
1203 8797b228 2019-08-04 stsp <p class="Pp">Roll file content on the unified-buffer-cache branch back by one
1204 8797b228 2019-08-04 stsp commit, and then fetch the rolled-back change into the work tree as a local
1205 8797b228 2019-08-04 stsp change to be amended and perhaps committed again:</p>
1206 8797b228 2019-08-04 stsp <p class="Pp"></p>
1207 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got backout
1208 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1209 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got commit -m 'roll back
1210 8797b228 2019-08-04 stsp previous'</code></div>
1211 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ # now back out the previous backout
1212 8797b228 2019-08-04 stsp :-)</code></div>
1213 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got backout
1214 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1215 8797b228 2019-08-04 stsp <p class="Pp">Fetch new upstream commits into the local repository's master
1216 8797b228 2019-08-04 stsp branch. This step currently requires <a class="Xr">git(1)</a>:</p>
1217 8797b228 2019-08-04 stsp <p class="Pp"></p>
1218 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/src.git</code></div>
1219 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git fetch origin
1220 8797b228 2019-08-04 stsp master:master</code></div>
1221 8797b228 2019-08-04 stsp <p class="Pp">Rebase the &#x201C;unified-buffer-cache&#x201D; branch on top of
1222 8797b228 2019-08-04 stsp the new head commit of the &#x201C;master&#x201D; branch.</p>
1223 8797b228 2019-08-04 stsp <p class="Pp"></p>
1224 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b master</code></div>
1225 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got rebase
1226 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1227 8797b228 2019-08-04 stsp <p class="Pp">Create a patch from all changes on the unified-buffer-cache
1228 8797b228 2019-08-04 stsp branch. The patch can be mailed out for review and applied to OpenBSD's CVS
1229 8797b228 2019-08-04 stsp tree:</p>
1230 8797b228 2019-08-04 stsp <p class="Pp"></p>
1231 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got diff master
1232 8797b228 2019-08-04 stsp unified-buffer-cache &gt; /tmp/ubc.diff</code></div>
1233 8797b228 2019-08-04 stsp <p class="Pp">Edit the entire commit history of the
1234 8797b228 2019-08-04 stsp &#x201C;unified-buffer-cache&#x201D; branch:</p>
1235 8797b228 2019-08-04 stsp <p class="Pp"></p>
1236 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b
1237 8797b228 2019-08-04 stsp unified-buffer-cache</code></div>
1238 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -c master</code></div>
1239 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got histedit</code></div>
1240 8797b228 2019-08-04 stsp <p class="Pp">Additional steps are necessary if local changes need to be pushed
1241 8797b228 2019-08-04 stsp back to the remote repository, which currently requires <code class="Cm">git
1242 8797b228 2019-08-04 stsp fetch</code> and <code class="Cm">git push</code>. Before working against
1243 8797b228 2019-08-04 stsp existing branches in a repository cloned with &#x201C;git clone
1244 8797b228 2019-08-04 stsp --bare&#x201D;, a Git &#x201C;refspec&#x201D; must be configured to map all
1245 8797b228 2019-08-04 stsp references in the remote repository into the &#x201C;refs/remotes&#x201D;
1246 8797b228 2019-08-04 stsp namespace of the local repository. This can achieved by setting Git's
1247 8797b228 2019-08-04 stsp <span class="Pa">remote.origin.fetch</span> configuration variable to the
1248 8797b228 2019-08-04 stsp value &#x201C;+refs/heads/*:refs/remotes/origin/*&#x201D; with the
1249 8797b228 2019-08-04 stsp <code class="Cm">git config</code> command:</p>
1250 8797b228 2019-08-04 stsp <p class="Pp"></p>
1251 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/repo</code></div>
1252 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git config remote.origin.fetch
1253 8797b228 2019-08-04 stsp '+refs/heads/*:refs/remotes/origin/*'</code></div>
1254 8797b228 2019-08-04 stsp <p class="Pp">Alternatively, the following <span class="Pa">fetch</span>
1255 8797b228 2019-08-04 stsp configuration item can be added manually to the Git repository's
1256 8797b228 2019-08-04 stsp <span class="Pa">config</span> file:</p>
1257 8797b228 2019-08-04 stsp <p class="Pp"></p>
1258 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">[remote origin]</code></div>
1259 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">url = ...</code></div>
1260 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">fetch =
1261 8797b228 2019-08-04 stsp +refs/heads/*:refs/remotes/origin/*</code></div>
1262 8797b228 2019-08-04 stsp <p class="Pp">This configuration leaves the local repository's
1263 8797b228 2019-08-04 stsp &#x201C;refs/heads&#x201D; namespace free for use by local branches checked
1264 8797b228 2019-08-04 stsp out with <code class="Cm">got checkout</code> and, if needed, created with
1265 8797b228 2019-08-04 stsp <code class="Cm">got branch</code>.</p>
1266 8797b228 2019-08-04 stsp <p class="Pp">Branches in the &#x201C;remotes/origin&#x201D; namespace can be
1267 8797b228 2019-08-04 stsp updated with incoming changes from the remote repository with
1268 8797b228 2019-08-04 stsp <code class="Cm">git fetch</code>:</p>
1269 8797b228 2019-08-04 stsp <p class="Pp"></p>
1270 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/repo</code></div>
1271 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git fetch</code></div>
1272 8797b228 2019-08-04 stsp <p class="Pp">Before outgoing changes on the local &#x201C;master&#x201D; branch
1273 8797b228 2019-08-04 stsp can be pushed to the remote repository, the local &#x201C;master&#x201D;
1274 8797b228 2019-08-04 stsp branch must be rebased onto the &#x201C;origin/master&#x201D; branch:</p>
1275 8797b228 2019-08-04 stsp <p class="Pp"></p>
1276 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got update -b
1277 8797b228 2019-08-04 stsp origin/master</code></div>
1278 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ got rebase master</code></div>
1279 8797b228 2019-08-04 stsp <p class="Pp">Changes on the local &#x201C;master&#x201D; branch can then be
1280 8797b228 2019-08-04 stsp pushed to the remote repository with <code class="Cm">git push</code>:</p>
1281 8797b228 2019-08-04 stsp <p class="Pp"></p>
1282 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ cd /var/git/repo</code></div>
1283 8797b228 2019-08-04 stsp <div class="Bd Bd-indent"><code class="Li">$ git push origin master</code></div>
1284 8797b228 2019-08-04 stsp </section>
1285 8797b228 2019-08-04 stsp <section class="Sh">
1286 8797b228 2019-08-04 stsp <h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
1287 8797b228 2019-08-04 stsp ALSO</a></h1>
1288 8797b228 2019-08-04 stsp <a class="Xr">tog(1)</a>, <a class="Xr">git-repository(5)</a>,
1289 8797b228 2019-08-04 stsp <a class="Xr">got-worktree(5)</a>
1290 8797b228 2019-08-04 stsp </section>
1291 8797b228 2019-08-04 stsp <section class="Sh">
1292 8797b228 2019-08-04 stsp <h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
1293 8797b228 2019-08-04 stsp <span class="An">Stefan Sperling</span>
1294 8797b228 2019-08-04 stsp &lt;<a class="Mt" href="mailto:stsp@openbsd.org">stsp@openbsd.org</a>&gt;
1295 8797b228 2019-08-04 stsp <br/>
1296 8797b228 2019-08-04 stsp <span class="An">Martin Pieuchot</span>
1297 8797b228 2019-08-04 stsp &lt;<a class="Mt" href="mailto:mpi@openbsd.org">mpi@openbsd.org</a>&gt;
1298 8797b228 2019-08-04 stsp <br/>
1299 8797b228 2019-08-04 stsp <span class="An">joshua stein</span>
1300 8797b228 2019-08-04 stsp &lt;<a class="Mt" href="mailto:jcs@openbsd.org">jcs@openbsd.org</a>&gt;
1301 8797b228 2019-08-04 stsp </section>
1302 8797b228 2019-08-04 stsp <section class="Sh">
1303 8797b228 2019-08-04 stsp <h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
1304 8797b228 2019-08-04 stsp <code class="Nm">got</code> is a work-in-progress and many commands remain to be
1305 8797b228 2019-08-04 stsp implemented. At present, the user has to fall back on <a class="Xr">git(1)</a>
1306 8797b228 2019-08-04 stsp to perform many tasks, in particular tasks related to repository
1307 8797b228 2019-08-04 stsp administration and tasks which require a network connection.
1308 8797b228 2019-08-04 stsp </section>
1309 8797b228 2019-08-04 stsp </div>
1310 8797b228 2019-08-04 stsp <table class="foot">
1311 8797b228 2019-08-04 stsp <tr>
1312 fc62dacd 2019-08-08 stsp <td class="foot-date">August 8, 2019</td>
1313 8797b228 2019-08-04 stsp <td class="foot-os">OpenBSD 6.5</td>
1314 8797b228 2019-08-04 stsp </tr>
1315 8797b228 2019-08-04 stsp </table>
1316 8797b228 2019-08-04 stsp </body>
1317 8797b228 2019-08-04 stsp </html>