зеркало из https://github.com/microsoft/git.git
Documentation/git-svn: clarify dcommit, rebase vs pull/merge
Clarify that dcommit creates a revision in SVN for every commit in git. Also, add 'merge' to the rebase vs pull section because git-merge is now a first-class UI. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
09c3a408da
Коммит
2eff14259e
|
@ -53,11 +53,13 @@ See '<<fetch-args,Additional Fetch Arguments>>' if you are interested in
|
||||||
manually joining branches on commit.
|
manually joining branches on commit.
|
||||||
|
|
||||||
'dcommit'::
|
'dcommit'::
|
||||||
Commit all diffs from a specified head directly to the SVN
|
Commit each diff from a specified head directly to the SVN
|
||||||
repository, and then rebase or reset (depending on whether or
|
repository, and then rebase or reset (depending on whether or
|
||||||
not there is a diff between SVN and head). It is recommended
|
not there is a diff between SVN and head). This will create
|
||||||
that you run git-svn fetch and rebase (not pull) your commits
|
a revision in SVN for each commit in git.
|
||||||
against the latest changes in the SVN repository.
|
It is recommended that you run git-svn fetch and rebase (not
|
||||||
|
pull or merge) your commits against the latest changes in the
|
||||||
|
SVN repository.
|
||||||
An optional command-line argument may be specified as an
|
An optional command-line argument may be specified as an
|
||||||
alternative to HEAD.
|
alternative to HEAD.
|
||||||
This is advantageous over 'set-tree' (below) because it produces
|
This is advantageous over 'set-tree' (below) because it produces
|
||||||
|
@ -408,19 +410,20 @@ See also:
|
||||||
git-svn multi-init
|
git-svn multi-init
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
REBASE VS. PULL
|
REBASE VS. PULL/MERGE
|
||||||
---------------
|
---------------------
|
||||||
|
|
||||||
Originally, git-svn recommended that the remotes/git-svn branch be
|
Originally, git-svn recommended that the remotes/git-svn branch be
|
||||||
pulled from. This is because the author favored 'git-svn set-tree B'
|
pulled or merged from. This is because the author favored
|
||||||
to commit a single head rather than the 'git-svn set-tree A..B' notation
|
'git-svn set-tree B' to commit a single head rather than the
|
||||||
to commit multiple commits.
|
'git-svn set-tree A..B' notation to commit multiple commits.
|
||||||
|
|
||||||
If you use 'git-svn set-tree A..B' to commit several diffs and you do not
|
If you use 'git-svn set-tree A..B' to commit several diffs and you do
|
||||||
have the latest remotes/git-svn merged into my-branch, you should use
|
not have the latest remotes/git-svn merged into my-branch, you should
|
||||||
'git rebase' to update your work branch instead of 'git pull'. 'pull'
|
use 'git rebase' to update your work branch instead of 'git pull' or
|
||||||
can cause non-linear history to be flattened when committing into SVN,
|
'git merge'. 'pull/merge' can cause non-linear history to be flattened
|
||||||
which can lead to merge commits reversing previous commits in SVN.
|
when committing into SVN, which can lead to merge commits reversing
|
||||||
|
previous commits in SVN.
|
||||||
|
|
||||||
DESIGN PHILOSOPHY
|
DESIGN PHILOSOPHY
|
||||||
-----------------
|
-----------------
|
||||||
|
|
Загрузка…
Ссылка в новой задаче