Teach 'git pull' to handle --rebase=interactive

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2011-10-21 23:27:09 -05:00
parent 1ead675e08
commit c0c315c3db
2 changed files with 9 additions and 2 deletions

View File

@@ -104,7 +104,7 @@ Options related to merging
include::merge-options.txt[]
-r::
--rebase[=false|true|preserve]::
--rebase[=false|true|preserve|interactive]::
When true, rebase the current branch on top of the upstream
branch after fetching. If there is a remote-tracking branch
corresponding to the upstream branch and the upstream branch
@@ -117,6 +117,8 @@ locally created merge commits will not be flattened.
+
When false, merge the current branch into the upstream branch.
+
When `interactive`, enable the interactive mode of rebase.
+
See `pull.rebase`, `branch.<name>.rebase` and `branch.autosetuprebase` in
linkgit:git-config[1] if you want to make `git pull` always use
`--rebase` instead of merging.

View File

@@ -135,6 +135,7 @@ do
;;
--no-r|--no-re|--no-reb|--no-reba|--no-rebas|--no-rebase)
rebase=false
;;
--recurse-submodules)
recurse_submodules=--recurse-submodules
@@ -175,6 +176,10 @@ do
done
case "$rebase" in
i|interactive)
rebase=true
rebase_args=-i
;;
preserve)
rebase=true
rebase_args=--preserve-merges
@@ -182,7 +187,7 @@ preserve)
true|false|'')
;;
*)
echo "Invalid value for --rebase, should be true, false, or preserve"
echo "Invalid value for --rebase, should be true, false, interactive or preserve"
usage
exit 1
;;