1

SVN コミット履歴なしで SVN リポジトリをダウンロードして git リポジトリに変換し、いくつかの git コミットを追加しました。

新しいものを失うことなく、以前の SVN コミット履歴を git リポジトリに追加する方法を知っていますか?

4

1 に答える 1

0

私はあなたができると信じており、これが私のために働いた単純化されたサンプルリポジトリでテストしました:

  1. まだインストールgit-svnしていない場合はインストールします。

  2. 次のコマンドで SVN リポジトリのクローンを作成します。

    git svn clone SVNURL /path/to/svnclone
    

    /path/to/svncloneこれにより、完全な Subversion コミット履歴を含む Git リポジトリが に作成されます。

  3. 変更を開始した Git リポジトリでsvnclone、リモートとして追加し、その上にリベースします。

    cd /path/to/gitrepo
    git remote add svnclone /path/to/svnclone
    git fetch svnclone
    git rebase svnclone/master
    

この最後のステップでは、コミットを取り込み、svncloneそれらの上に新しいコミットを再生します。その結果、プロジェクトのコンテンツはまったく同じになりますが、完全なコミット履歴があり、Subversion での古いコミットと Git で行った新しいコミットの両方が含まれます。

于 2013-05-27T19:36:28.640 に答える