3 Yann Dirson <ydirson@altern.org>
8 stg - manage stacks of patches using the GIT content tracker
13 'stg' [--version] [--help] <command> [OPTIONS] [ARGS]
18 StGIT (Stacked GIT) is an application providing similar functionality
19 to Quilt (i.e. pushing/popping patches to/from a stack), on top of
20 GIT. These operations are performed using GIT commands and the patches
21 are stored as GIT commit objects, allowing easy merging of the StGIT
22 patches into other repositories using standard GIT functionality.
24 An StGIT stack is a GIT branch with additional information to help
25 making changes to individual patches you already committed, rather
26 than making changes by adding new commits. It is thus a
27 non-forwarding, or rewinding branch: the old head of the branch is
28 often not reachable as one of the new head's ancestors.
30 Typical uses of StGIT include:
33 Tracking changes from a remote branch, while maintaining local
34 modifications against that branch, possibly with the intent of
35 sending some patches upstream. StGIT assists in preparing and
36 cleaning up patches until they are acceptable upstream, as
37 well as maintaining local patches not meant to be sent
40 In such a setup, typically all commits on your branch are StGIT
41 patches; the stack base is the branch point where your changes "fork"
42 off their parent branch.
45 Preparing and testing your commits before publishing them,
46 separating your features from unrelated bugfixes collected
49 In such a setup, not all commits on your branch need to be StGIT
50 patches; there may be regular GIT commits below your stack base.
56 Prints the StGIT suite version that the 'stg' program came
57 from, as well as version of other components used, such as GIT
61 Prints the synopsis and a list of all commands. If a git
62 command is given this option will display the specific help
68 We divide StGIT commands in thematic groups, according to the primary
69 type of object they create or change.
71 ifdef::backend-docbook[]
72 Here is a short description of each command. A more detailed
73 description is available in individual command manpages. Those
74 manpages are named 'stg-<command>(1)'.
75 endif::backend-docbook[]
80 User-support commands not touching the repository.
118 stglink:assimilate[]::
121 Controlling what patches are applied
122 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
136 stglink:unapplied[]::
146 Miscellaneous stack commands
147 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
168 Controlling patch contents
169 ^^^^^^^^^^^^^^^^^^^^^^^^^^
184 Interaction with the rest of the world
185 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
195 Working-copy commands
196 ~~~~~~~~~~~~~~~~~~~~~
211 CONFIGURATION MECHANISM
212 -----------------------
214 Starting with 0.12, StGIT uses the same configuration mechanism as
215 GIT. See gitlink:git[7] for more details.
220 A number of StGIT commands make use of template files to provide
221 useful default texts to be edited by the user. These '<name>.tmpl'
222 template files are searched in the following directories:
225 $HOME/.stgit/templates/
226 /usr/share/stgit/templates/