私はすでにsvn読み取り専用レポをチェックアウトしています(git svnではなくsvn co)。git を使用していくつかの変更とコミットを行い、それを github にプッシュしました。
この時点で、git は svn からのすべての履歴を持っていません。この時点でこれを抽出してインポートする方法があるかどうか疑問に思っていました。
さまざまな git-svn ガイドで、クリーンなリポジトリをインポートして履歴を転送する方法が示されていますが、既に使用されているものは見つかりませんでした。
Thiloの良い答えを完成させるには、svn リポジトリを git リポジトリにインポートしたら、無関係な git ブランチのマージで詳しく説明されているスクリプトを使用して、その git リポジトリを自分のリポジトリに追加できます。
#!/bin/bash
set -e
if test -z "$2" -o -n "$3"; then
echo "usage: $0 REPO BRANCHNAME" >&2
exit 1
fi
repo=$1
branch=$2
git fetch "$repo" "$branch"
head=$(git rev-parse HEAD)
fetched=$(git rev-parse FETCH_HEAD)
headref=$(git rev-parse --symbolic-full-name HEAD)
git checkout $fetched .
tree=$(git write-tree)
newhead=$(echo "merged in branch '$branch' from $repo" | git commit-tree $tree -p $head -p $fetched)
git-update-ref $headref $newhead $head
git reset --hard $headref
その他の方法には次のものがあります。
git pull REPO BRANCHおそらく、新しい git リポジトリに svn インポートを実行し、2 つのリポジトリをマージして (それらを一緒に追加するだけです。おそらくそれらが無関係であると文句を言うでしょう) 、インポートした履歴に対して行った変更をリベースする必要があります。