开发者

git: correct way to merge/rebase with respect to svn dcommit

I have the following situation (mostly because I didn't really thought it through in the beginning -- or more exactly, I thought it shouldn't be a problem the way I did this but now I am stumbled):

... --- A --- B1 --- ... --- Bn

... --- git-svn

Whereby A and git-svn are at the same state (exactly the same files and file content) but they don't have an开发者_JAVA百科y common point in history.

And I want:

... --- git-svn --- B1 --- ... --- Bn

Or at least, when I do the svn dcommit, I want exactly to get the commits B1 to Bn and nothing else.

I am not exactly sure how dcommit works. So if I would get something like this:

... ------------ A --- B1 --- ... --- Bn
                  \                    \
... --- git-svn -- A' ----------------- B'

would the dcommit behave in the way I want? Because if so, that would be easy to get (merging A into git-svn does work just fine because they are content-wise the same).

Or should I do some sort of rebase? But I don't want to rebase A on git-svn, just B1 to Bn.


dcommit does an svn commit for each commit from git-svn to HEAD (or the commit you specify).

I think your last sentence is the way I'd approach it: rebase B1 to Bn onto git-svn. This is done as follows:

git checkout Bn
git rebase --onto git-svn B1 Bn
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜