index 8f12dc975910b14ecb9f11a07e0161755f412a52..64715c17da6c313a1cec4c353300eb0faee2313b 100644 (file)
SYNOPSIS
--------
SYNOPSIS
--------
-'git-rerere' [clear|diff|status|gc]
+'git rerere' ['clear'|'diff'|'status'|'gc']
DESCRIPTION
-----------
DESCRIPTION
-----------
COMMANDS
--------
COMMANDS
--------
-Normally, git-rerere is run without arguments or user-intervention.
+Normally, 'git-rerere' is run without arguments or user-intervention.
However, it has several commands that allow it to interact with
its working state.
'clear'::
This resets the metadata used by rerere if a merge resolution is to be
However, it has several commands that allow it to interact with
its working state.
'clear'::
This resets the metadata used by rerere if a merge resolution is to be
-is aborted. Calling linkgit:git-am[1] --skip or linkgit:git-rebase[1]
-[--skip|--abort] will automatically invoke this command.
+aborted. Calling 'git-am [--skip|--abort]' or 'git-rebase [--skip|--abort]'
+will automatically invoke this command.
'diff'::
This displays diffs for the current state of the resolution. It is
useful for tracking what has changed while the user is resolving
conflicts. Additional arguments are passed directly to the system
'diff'::
This displays diffs for the current state of the resolution. It is
useful for tracking what has changed while the user is resolving
conflicts. Additional arguments are passed directly to the system
-diff(1) command installed in PATH.
+'diff' command installed in PATH.
'status'::
'status'::
-Like diff, but this only prints the filenames that will be tracked
+Like 'diff', but this only prints the filenames that will be tracked
for resolutions.
'gc'::
for resolutions.
'gc'::
would require you to resolve the conflict, introduced by the
commits marked with `*`. However, often this conflict is the
same conflict you resolved when you created the test merge you
would require you to resolve the conflict, introduced by the
commits marked with `*`. However, often this conflict is the
same conflict you resolved when you created the test merge you
-blew away. `git-rerere` command helps you to resolve this final
+blew away. 'git-rerere' command helps you to resolve this final
conflicted merge using the information from your earlier hand
resolve.
conflicted merge using the information from your earlier hand
resolve.
-Running `git-rerere` command immediately after a conflicted
+Running the 'git-rerere' command immediately after a conflicted
automerge records the conflicted working tree files, with the
usual conflict markers `<<<<<<<`, `=======`, and `>>>>>>>` in
them. Later, after you are done resolving the conflicts,
automerge records the conflicted working tree files, with the
usual conflict markers `<<<<<<<`, `=======`, and `>>>>>>>` in
them. Later, after you are done resolving the conflicts,
-running `git-rerere` again records the resolved state of these
+running 'git-rerere' again records the resolved state of these
files. Suppose you did this when you created the test merge of
master into the topic branch.
files. Suppose you did this when you created the test merge of
master into the topic branch.
-Next time, running `git-rerere` after seeing a conflicted
+Next time, running 'git-rerere' after seeing a conflicted
automerge, if the conflict is the same as the earlier one
recorded, it is noticed and a three-way merge between the
earlier conflicted automerge, the earlier manual resolution, and
the current conflicted automerge is performed by the command.
If this three-way merge resolves cleanly, the result is written
out to your working tree file, so you would not have to manually
automerge, if the conflict is the same as the earlier one
recorded, it is noticed and a three-way merge between the
earlier conflicted automerge, the earlier manual resolution, and
the current conflicted automerge is performed by the command.
If this three-way merge resolves cleanly, the result is written
out to your working tree file, so you would not have to manually
-resolve it. Note that `git-rerere` leaves the index file alone,
+resolve it. Note that 'git-rerere' leaves the index file alone,
so you still need to do the final sanity checks with `git diff`
so you still need to do the final sanity checks with `git diff`
-(or `git diff -c`) and `git add` when you are satisfied.
+(or `git diff -c`) and 'git-add' when you are satisfied.
-As a convenience measure, `git-merge` automatically invokes
-`git-rerere` when it exits with a failed automerge, which
+As a convenience measure, 'git-merge' automatically invokes
+'git-rerere' when it exits with a failed automerge, which
records it if it is a new conflict, or reuses the earlier hand
records it if it is a new conflict, or reuses the earlier hand
-resolve when it is not. `git-commit` also invokes `git-rerere`
+resolve when it is not. 'git-commit' also invokes 'git-rerere'
when recording a merge result. What this means is that you do
not have to do anything special yourself (Note: you still have
to set the config variable rerere.enabled to enable this command).
when recording a merge result. What this means is that you do
not have to do anything special yourself (Note: you still have
to set the config variable rerere.enabled to enable this command).
actual merge later with updated master and topic branch, as long
as the earlier resolution is still applicable.
actual merge later with updated master and topic branch, as long
as the earlier resolution is still applicable.
-The information `git-rerere` records is also used when running
-`git-rebase`. After blowing away the test merge and continuing
+The information 'git-rerere' records is also used when running
+'git-rebase'. After blowing away the test merge and continuing
development on the topic branch:
------------
development on the topic branch:
------------
up-to-date even before your topic is ready to be sent upstream.
This would result in falling back to three-way merge, and it
would conflict the same way the test merge you resolved earlier.
up-to-date even before your topic is ready to be sent upstream.
This would result in falling back to three-way merge, and it
would conflict the same way the test merge you resolved earlier.
-`git-rerere` is run by `git rebase` to help you resolve this
+'git-rerere' is run by 'git-rebase' to help you resolve this
conflict.
conflict.