git-commit-vandalism/Documentation
Johannes Schindelin f09c9b8c5f Teach rebase -i about --preserve-merges
The option "-p" (or long "--preserve-merges") makes it possible to
rebase side branches including merges, without straightening the
history.

Example:

           X
            \
         A---M---B
        /
---o---O---P---Q

When the current HEAD is "B", "git rebase -i -p --onto Q O" will yield

               X
                 \
---o---O---P---Q---A'---M'---B'

Note that this will

- _not_ touch X [*1*], it does

- _not_ work without the --interactive flag [*2*], it does

- _not_ guess the type of the merge, but blindly uses recursive or
  whatever strategy you provided with "-s <strategy>" for all merges it
  has to redo, and it does

- _not_ make use of the original merge commit via git-rerere.

*1*: only commits which reach a merge base between <upstream> and HEAD
     are reapplied. The others are kept as-are.

*2*: git-rebase without --interactive is inherently patch based (at
     least at the moment), and therefore merges cannot be preserved.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26 18:58:59 -07:00
..
howto War on whitespace 2007-06-07 00:04:01 -07:00
technical War on whitespace 2007-06-07 00:04:01 -07:00
.gitignore Ignore all man sections as they are generated files. 2007-04-23 22:19:36 -07:00
asciidoc.conf Merge branch 'maint' to sync with GIT 1.5.2.2 2007-06-16 01:22:10 -07:00
blame-options.txt Update -L documentation for git-blame/git-annotate 2007-04-26 22:43:10 -07:00
build-docdep.perl Documentation/build-docdep.perl: Fix dependencies for included asciidoc files 2007-03-01 13:24:54 -08:00
callouts.xsl spurious .sp in manpages 2006-12-13 09:41:18 -08:00
cmd-list.perl Document git-gui, git-citool as mainporcelain manual pages 2007-06-22 22:32:32 -07:00
config.txt [PATCH] git-mergetool: Allow gvimdiff to be used as a mergetool 2007-06-10 08:27:29 -04:00
core-intro.txt Merge branch 'maint' 2007-02-17 16:16:48 -08:00
core-tutorial.txt War on whitespace 2007-06-07 00:04:01 -07:00
cvs-migration.txt Documentation: mention module option to git-cvsimport 2007-03-04 16:47:32 -08:00
diff-format.txt War on whitespace 2007-06-07 00:04:01 -07:00
diff-options.txt Teach diff to imply --find-copies-harder upon -C -C 2007-06-12 01:00:38 -07:00
diffcore.txt War on whitespace 2007-06-07 00:04:01 -07:00
docbook-xsl.css War on whitespace 2007-06-07 00:04:01 -07:00
everyday.txt git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
fetch-options.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-add.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-am.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-annotate.txt Update git-annotate/git-blame documentation 2007-04-16 01:14:46 -07:00
git-apply.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-archimport.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-archive.txt Make command description imperative statement, not third-person present. 2007-06-09 10:42:48 -07:00
git-bisect.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-blame.txt git-blame -w: ignore whitespace 2007-06-09 18:34:58 -07:00
git-branch.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-bundle.txt Documentation: Added [verse] to SYNOPSIS where necessary 2007-05-18 21:47:40 -07:00
git-cat-file.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-check-attr.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-check-ref-format.txt Some doc typo fixes 2006-06-07 11:49:35 -07:00
git-checkout-index.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-checkout.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-cherry-pick.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-cherry.txt Merge branch 'maint' 2007-06-12 00:15:16 -07:00
git-citool.txt Document git-gui, git-citool as mainporcelain manual pages 2007-06-22 22:32:32 -07:00
git-clean.txt Fix minor documentation errors 2007-05-07 15:39:57 -07:00
git-clone.txt Merge branch 'maint' 2007-06-09 11:52:43 -07:00
git-commit-tree.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-commit.txt git-commit: add a --interactive option 2007-03-09 00:05:23 -08:00
git-config.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-convert-objects.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-count-objects.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-cvsexportcommit.txt Merge branch 'maint' to sync with GIT 1.5.2.2 2007-06-16 01:22:10 -07:00
git-cvsimport.txt Merge branch 'aw/cvs' 2007-06-12 21:04:52 -07:00
git-cvsserver.txt cvsserver: Actually implement --export-all 2007-06-15 22:38:48 -07:00
git-daemon.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-describe.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-diff-files.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-diff-index.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-diff-tree.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-diff.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-fast-import.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-fetch-pack.txt fetch & clone: do not output progress when not on a tty 2007-02-19 19:20:05 -08:00
git-fetch.txt git-fetch: document automatic tag following. 2007-02-09 15:41:35 -08:00
git-fmt-merge-msg.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-for-each-ref.txt Documentation: Reformatted SYNOPSIS for several commands 2007-05-18 21:47:45 -07:00
git-format-patch.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-fsck-objects.txt git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-fsck.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-gc.txt Fix minor grammatical typos in the git-gc man page 2007-05-31 16:22:28 -07:00
git-get-tar-commit-id.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-grep.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-gui.txt Document git-gui, git-citool as mainporcelain manual pages 2007-06-22 22:32:32 -07:00
git-hash-object.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-http-fetch.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-http-push.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-imap-send.txt Several trivial documentation touch ups. 2006-05-05 14:21:18 -07:00
git-index-pack.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-init-db.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-init.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-instaweb.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-local-fetch.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-log.txt Document git log --full-diff 2007-06-16 13:10:52 -07:00
git-lost-found.txt Documentation: minor edits of git-lost-found manpage 2007-04-16 01:10:28 -07:00
git-ls-files.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-ls-remote.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-ls-tree.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-mailinfo.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-mailsplit.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-merge-base.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-merge-file.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-merge-index.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-merge-one-file.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-merge-tree.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-merge.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-mergetool.txt [PATCH] git-mergetool: Allow gvimdiff to be used as a mergetool 2007-06-10 08:27:29 -04:00
git-mktag.txt mktag: minimally update the description. 2007-06-10 16:00:36 -07:00
git-mktree.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-mv.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-name-rev.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-p4import.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-pack-objects.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-pack-redundant.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-pack-refs.txt Documentation: pack-refs --all vs default behaviour 2007-01-26 00:02:51 -08:00
git-parse-remote.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-patch-id.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-peek-remote.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-prune-packed.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-prune.txt Merge branch 'maint' 2007-06-09 11:52:43 -07:00
git-pull.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-push.txt git-push: Update description of refspecs and add examples 2007-06-09 11:53:01 -07:00
git-quiltimport.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-read-tree.txt Document git read-tree --trivial 2007-06-16 13:08:09 -07:00
git-rebase.txt Teach rebase -i about --preserve-merges 2007-06-26 18:58:59 -07:00
git-receive-pack.txt Change {pre,post}-receive hooks to use stdin 2007-03-11 22:56:03 -07:00
git-reflog.txt Document git reflog --stale-fix 2007-06-16 13:08:12 -07:00
git-relink.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-remote.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-repack.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-repo-config.txt [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-request-pull.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-rerere.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
git-reset.txt Documentation/git-reset.txt: suggest git commit --amend in example. 2007-04-23 23:55:08 -07:00
git-rev-list.txt Document git rev-list --timestamp 2007-06-16 13:08:14 -07:00
git-rev-parse.txt Document git rev-parse --is-inside-git-dir 2007-06-16 13:08:11 -07:00
git-revert.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-rm.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-runstatus.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-send-email.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-send-pack.txt Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-sh-setup.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-shell.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-shortlog.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-show-branch.txt show-branch -g: default to the current branch. 2007-02-03 23:34:22 -08:00
git-show-index.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-show-ref.txt Documentation: show-ref: document --exclude-existing 2007-04-09 18:54:52 -07:00
git-show.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-ssh-fetch.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-ssh-upload.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-status.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-stripspace.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-submodule.txt git-submodule: clone during update, not during init 2007-06-06 02:49:08 -07:00
git-svn.txt git-svn: trailing slash in prefix is mandatory with --branches/-b 2007-06-24 02:37:40 -07:00
git-svnimport.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-symbolic-ref.txt add logref support to git-symbolic-ref 2007-01-28 02:16:46 -08:00
git-tag.txt Teach git-tag about showing tag annotations. 2007-06-02 20:04:14 -07:00
git-tar-tree.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-tools.txt Add hg-to-git conversion utility. 2007-02-05 13:52:45 -08:00
git-unpack-file.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-unpack-objects.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-update-index.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-update-ref.txt git-update-ref: add --no-deref option for overwriting/detaching ref 2007-05-10 15:24:44 -07:00
git-update-server-info.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-upload-archive.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-upload-pack.txt Fixup no-progress for fetch & clone 2007-02-24 00:26:18 -08:00
git-var.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-verify-pack.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-verify-tag.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-whatchanged.txt War on whitespace 2007-06-07 00:04:01 -07:00
git-write-tree.txt War on whitespace 2007-06-07 00:04:01 -07:00
git.txt Documentation: update "stale" links for 1.5.2.2 2007-06-16 09:10:18 -07:00
gitattributes.txt Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs 2007-05-14 19:03:32 -07:00
gitignore.txt Create a new manpage for the gitignore format, and reference it elsewhere 2007-06-02 11:59:19 -07:00
gitk.txt War on whitespace 2007-06-07 00:04:01 -07:00
gitmodules.txt gitmodules(5): remove leading period from synopsis 2007-06-15 22:46:04 -07:00
glossary.txt Documentation: Add definition of "evil merge" to GIT Glossary 2007-05-25 20:54:38 -07:00
hooks.txt Remove git-applypatch 2007-05-24 21:36:53 -07:00
howto-index.sh Allow asciidoc formatted documentation in howto/ 2005-08-29 22:38:12 -07:00
i18n.txt Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding 2007-02-18 15:58:20 -08:00
install-doc-quick.sh Makefile: add quick-install-doc for installing pre-built manpages 2006-12-23 09:22:30 -08:00
install-webdoc.sh user-manual: install user manual stylesheet with other web documents 2007-03-10 23:05:02 -05:00
Makefile Change default man page path to /usr/share/man 2007-06-20 16:22:09 -07:00
merge-options.txt War on whitespace 2007-06-07 00:04:01 -07:00
merge-strategies.txt Documentation: recursive is the default strategy these days. 2005-12-08 14:04:33 -08:00
pretty-formats.txt War on whitespace 2007-06-07 00:04:01 -07:00
pretty-options.txt Document git log --abbrev-commit, as a kind of pretty option 2007-06-16 13:10:49 -07:00
pull-fetch-param.txt War on whitespace 2007-06-07 00:04:01 -07:00
RelNotes-1.5.0.1.txt GIT 1.5.0.1 2007-02-18 16:18:43 -08:00
RelNotes-1.5.0.2.txt GIT 1.5.0.2 2007-02-26 00:26:06 -08:00
RelNotes-1.5.0.3.txt GIT 1.5.0.3 2007-03-04 17:20:38 -08:00
RelNotes-1.5.0.4.txt War on whitespace 2007-06-07 00:04:01 -07:00
RelNotes-1.5.0.5.txt War on whitespace 2007-06-07 00:04:01 -07:00
RelNotes-1.5.0.6.txt War on whitespace 2007-06-07 00:04:01 -07:00
RelNotes-1.5.0.7.txt GIT 1.5.0.7 2007-04-03 19:27:41 -07:00
RelNotes-1.5.0.txt git-clone: Sync documentation to usage note. 2007-02-19 18:14:29 -08:00
RelNotes-1.5.1.1.txt git-svn: don't allow globs to match regular files 2007-04-18 12:39:04 -07:00
RelNotes-1.5.1.2.txt GIT 1.5.1.2 2007-04-21 13:57:07 -07:00
RelNotes-1.5.1.3.txt War on whitespace 2007-06-07 00:04:01 -07:00
RelNotes-1.5.1.4.txt GIT v1.5.1.4 2007-05-08 22:11:17 -07:00
RelNotes-1.5.1.5.txt GIT 1.5.1.6 2007-05-20 00:15:53 -07:00
RelNotes-1.5.1.6.txt GIT 1.5.1.6 2007-05-20 00:15:53 -07:00
RelNotes-1.5.1.txt GIT 1.5.1 2007-04-03 22:47:01 -07:00
RelNotes-1.5.2.1.txt GIT 1.5.2.1 2007-06-02 16:02:49 -07:00
RelNotes-1.5.2.2.txt GIT 1.5.2.2 2007-06-16 01:13:35 -07:00
RelNotes-1.5.2.txt GIT 1.5.2 2007-05-20 00:30:39 -07:00
RelNotes-1.5.3.txt Release Notes: start preparing for 1.5.3 2007-06-02 19:34:54 -07:00
repository-layout.txt War on whitespace 2007-06-07 00:04:01 -07:00
SubmittingPatches War on whitespace 2007-06-07 00:04:01 -07:00
tutorial-2.txt tutorials: add user-manual links 2007-05-19 00:57:19 -04:00
tutorial.txt tutorial: use "project history" instead of "changelog" in header 2007-06-10 16:46:17 -04:00
urls.txt Fix formatting for urls section of fetch, pull, and push manpages 2006-12-31 18:40:17 -08:00
user-manual.conf Documentation: add git user's manual 2007-01-07 20:33:06 -05:00
user-manual.txt Merge branch 'maint' to sync with GIT 1.5.2.2 2007-06-16 01:22:10 -07:00