0001-Detailed-tools-useful-when-resolving-merge-conflicts.patch
- From
- Dan Hensgen <dan@methodhead.com>
- Date
- Aug 21, 2008, 03:27 UTC
- Message-ID
- <8f6a00e30808202027s1d481a01q22c5a7444cd03f80@mail.gmail.com>
Sorry, had trouble with git send-email.
Thanks, Dan
From b2ca52f8ba70e689cd8e9424707629e4ca37fab3 Mon Sep 17 00:00:00 2001 From: Dan Hensgen <dan@macbook.danhensgen.com> Date: Wed, 20 Aug 2008 23:14:06 -0400 Subject: [PATCH] Detailed tools useful when resolving merge conflicts
Signed-off-by: Dan Hensgen <dan@methodhead.com> --- Documentation/git-merge.txt | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt index 17a15ac..bff56c5 100644 --- a/Documentation/git-merge.txt +++ b/Documentation/git-merge.txt @@ -126,13 +126,26 @@ After seeing a conflict, you can do two things: up working tree changes made by 2. and 3.; 'git-reset --hard' can be used for this. - * Resolve the conflicts. `git diff` would report only the - conflicting paths because of the above 2. and 3. - Edit the working tree files into a desirable shape - ('git mergetool' can ease this task), 'git-add' or 'git-rm' - them, to make the index file contain what the merge result - should be, and run 'git-commit' to commit the result. - + * Resolve the conflicts. Edit the working tree files into shape + and 'git-add' to the index. 'git-commit' to seal the deal. + +You can work through conflict with a number of tools: + + * Look at the originals. 'git show :1:filename' shows the + common ancestor, 'git show :2:filename' shows the HEAD + version and 'git show :3:filename' shows the remote + version. + + * Diff the conflicts against the originals. 'git-diff --base' + diffs against the common ancestor, 'git-diff --ours' diffs + against the HEAD version and 'git-diff --theirs' diffs + against the remote version. + + * Use a mergetool. 'git diff mergetool' to start the merge + process. Four versions of a conflicted file get written as + the mergetool starts, BASE, LOCAL, REMOTE and BACKUP. + They're created for the mergetool, but they're handy + alternatives to the 'git show :1:filename' command. SEE ALSO --------
-- 1.5.6.2