1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
git-reintegrate(1)
==================
NAME
----
git-reintegrate - Manage integration branches in Git
SYNOPSIS
--------
[verse]
'git reintegrate' --create <name> [<base>]
'git-reintegrate' --generate <name> [<base>]
'git-reintegrate' --add=<name>
'git-reintegrate' (--edit | --rebuild | --cat | --status) [<name>]
'git reintegrate' (--continue | --abort)
DESCRIPTION
-----------
This tool is a helper to be able to manage integration branches in Git easily.
It does so by specifying a list of merges to be applied on top of a base
branch. Each one of these merges can have a description that will be used as
the merge commit message.
This instruction sheet can autogenerated and modified in various ways through
the command line, or manually edited.
Finally the integration branch can be rebuilt, and previous conflicts
resolutions can be reused thanks to `git rerere`.
OPTIONS
-------
--create::
Create a new integration branch.
+
If no base is specified, 'master' is assumed.
--generate::
Generates the instruction sheet basied on an existing integration
branch. The messages of each merge commit will be parsed to construct
the instructions. The messages should be in the standard form
`Merge branch 'name'` (or remote branch).
+
If no base is specified, 'master' is assumed.
--[no-]rebuild::
Rebuild the integration branch.
--edit::
Edit the instruction sheet.
--cat::
Print the instruction sheet.
--status::
Prints the status of the integration branch.
--add=<branch>::
Appends a line `merge <branch>` to the instruction list, causing that
branch to be included in the integration branch when it is next
rebuilt. This option may be specified multiple times to add multiple
branches.
--continue::
Restart the rebuild process after having resolved a merge conflict.
--abort::
Abort the rebuild operation.
--[no-]autocontinue::
Continues automatically if the rerere mechanism manages to resolve all
conflicts during a merge.
If `--continue` or `--abort` are specified then no other options may be given.
CONFIGURATION
-------------
integration.autocontinue::
Sets the default for the `--autocontinue` option.
integration.autorebuild::
Automatically rebuild the integration branch after creating/editing it
if `--no-rebuild` is not specified.
FORMAT OF INSTRUCTIONS
----------------------
The instruction sheet consists of a series of instructions which begin in
column zero, each of which may be followed by indented comments. The
following instructions are supported:
+base+ '<ref>'::
Resets the state of the integration branch to the specified revision.
This should always be the first instruction in the instruction sheet,
and should appear only at the top of the instruction sheet.
+merge+ '<ref>' '[<options>]'::
Merges the specified ref into the integration branch. Any comments
following the instruction are appended to the merge commit's commit
message.
+
If any options are given after the ref (and on the same line) then these are
passed to 'git merge'. This may be useful for specifying an alternative merge
strategy for a branch.
+fixup+ '<ref>'::
Picks up an existing commit to be applied on top of a merge as a fixup.
+commit+::
Adds an empty commit with the specified message mostly to be used as a
comment.
+pause+::
Pauses the rebuild process, so the user can do certain actions
manually, for example fixing a wrong conflict resoltion.
+.+ '<args...>'::
Ignores this command and its description. This can be used to remove
a branch from the integration branch without needing to delete it and
its description from the instruction sheet.
Example
~~~~~~~
------
base master
merge my-experimental-feature
I think this is a good idea, but want to dogfood it before I
decide whether to submit it upstream.
merge my-site-specific-changes
Some changes to suit my environment. DO NOT SUBMIT THESE.
------
|