0

我有以下情况(主要是因为我一开始并没有真正考虑清楚 - 或者更确切地说,我认为我这样做的方式应该不是问题,但现在我被绊倒了):

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

... --- git-svn

其中Agit-svn处于相同状态(完全相同的文件和文件内容),但它们在历史上没有任何共同点。

而且我要:

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

或者至少,当我执行 svn dcommit 时,我只想得到提交B1Bn而不是别的。

我不确定 dcommit 是如何工作的。所以如果我会得到这样的东西:

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

dcommit 会以我想要的方式运行吗?因为如果是这样,那将很容易获得(合并A确实git-svn可以正常工作,因为它们在内容方面是相同的)。

还是我应该做某种变基?但我不想改变A基础git-svn,只是B1为了Bn.

4

1 回答 1

0

dcommit对来自to (或您指定的提交)svn commit的每个提交执行一次。git-svnHEAD

我认为您的最后一句话是我处理它的方式: rebase B1to Bnon git-svn。这是按如下方式完成的:

git checkout Bn
git rebase --onto git-svn B1 Bn
于 2010-06-08T14:48:03.087 回答