0

私には次のような状況があります(主に、最初は本当に考えていなかったためです。正確には、これを行った方法では問題ないと思っていましたが、今はつまずきました):

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

... --- git-svn

これによりA、とgit-svnは同じ状態(まったく同じファイルとファイルコンテンツ)になりますが、履歴に共通点はありません。

そして私は欲しい:

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

B1または、少なくとも、svn dcommitを実行するときは、コミットを取得したいだけBnです。

dcommitがどのように機能するのか正確にはわかりません。だから私がこのようなものを手に入れるとしたら:

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

dcommitは私が望むように動作しますか?もしそうなら、それは簡単に取得できるからです(コンテンツ的には同じであるため、にマージAすることは問題なく機能します)。git-svn

それとも、ある種のリベースを行う必要がありますか?Aしかし、私はにリベースしたくありgit-svnませB1Bn

4

1 に答える 1

0

dcommitからのコミット(または指定したコミット)ごとsvn commitにを実行します。git-svnHEAD

あなたの最後の文は私がそれに近づく方法だと思います:にリベースB1Bnますgit-svn。これは次のように行われます。

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