次の問題があります-SVNリポジトリに基づくGitリポジトリに取り組んでいます。コマンドを使用git svn clone path-to-repo
して SVN リポジトリのクローンを作成したので、私の Git リポジトリは同じ履歴を保持し、共通の基盤を持っています。クローンを作成した後、 を使用して Git リモート リポジトリを追加しましたgit remote add origin path-to-my-git-repo
。git-svn-id
次に、さらにいくつかのコミットを適用し、それを Git リポジトリのみにプッシュしました (したがって、明らかに、SVN から複製されたコミットのようなものはありません)。SVN リポジトリは、変更を加えるたびに一度に更新されるわけではありません (代わりに、一定期間ごとに更新されます)。ただし、プロジェクトに接続したままにしておく必要があるため、他の人の変更で Git リポジトリをリベースできます。 SVN リポジトリのみにコミットします。
SVN リポジトリのクローンを作成し、Git リモート リポジトリを追加しました。変更を加えてリベースし、必要に応じて変更を Git または SVN リポジトリにプッシュすることができました。
問題は、プロジェクトをいくつかの場所に複製する必要があることです。Git のクローン ( git clone path-to-repo target-directory
) を作成し、コマンドを使用して SVN リモート リポジトリを追加すると、git svn init path-to-svn-repo --trunk="/"
SVN リポジトリの新しい変更でプロジェクトをリベースできません。ユーザー名とパスワードを要求するため、接続しているように見えますが、「作業ツリーの履歴から上流の SVN 情報を特定できません」というエラーが表示されます。ちなみに、これは間違いではありません - SVN リポジトリはブランチ、タグ、トランクを持つという慣習に従っていません。代わりに、コードはベースディレクトリに直接あります (または、少なくとも- ファイル--trunk="./"
を使用してクローンされた後、このように見えます)。git svn clone
直接ターゲットディレクトリにあります)。
SVNリポジトリを複製して機能させ、プロジェクトを複製するたびに手動でGitからコミットを追加することはオプションではありません。
ここで何が間違っていますか?助けやヒントをいただければ幸いです。