そこには3つのオプションがすでに(最も合理的なオプション)やった
オプション1です。 SVNの両方のプロジェクトを2つの別々のGitリポジトリに変換します。 その後、GitLab、Atlassian Bitbucket Server、または他のGitサーバーソフトウェアを使用して、リポジトリへのアクセスを設定します。
オプション2. SVNリポジトリ全体を1つのディレクトリとして扱います。あなたが継続的な同期を必要としない場合
subgit configure --svn-url <svn_server>/SVN-Repo --layout directory C:\GitRepos\SVN-Repo\repo.git
subgit install C:\GitRepos\SVN-Repo\repo.git
次に、あなたは
subgit uninstall C:\GitRepos\SVN-Repo\repo.git
を実行することができます。この場合、GitリポジトリはSVN-Repoをルートにします。
オプション3両方のプロジェクトのブランチを持つ1つのGitリポジトリ。その後
subgit configure --svn-url <svn_server>/SVN-Repo C:\GitRepos\SVN-Repo\repo.git
あなたは連続同期を必要としないならば、あなたは
subgit uninstall C:\GitRepos\SVN-Repo\repo.git
を実行することができます
subgit install C:\GitRepos\SVN-Repo\repo.git
を実行し
trunk = Project1/trunk:refs/heads/project1-master
branches = Project2/trunk:refs/heads/project2-master
branches = Project1/branches/*:refs/heads/project1-*
branches = Project2/branches/*:refs/heads/project2-*
shelves = shelves/*:refs/shelves/*
tags = Project1/tags/*:refs/tags/project1-*
tags = Project2/tags/*:refs/tags/project2-*
を設定するrepo.git/subgit/config
を編集します。
この場合、あなたのプロジェクトに対応するproject1-
とproject2-
で始まるブランチを持つ1つのGitリポジトリがあります。 project1-
/project2-
の代わりにproject1/
/project2/
を使用することもできます。
このように3つのオプションのうち1つを選択できますが、最初のものが最適です。
どのような結果を達成したいですか(私は "git clone" + "git push"コマンドを理解できません)?あなたが使ったコマンドは、 'C:\ GitRepos \ SVN-Repo \ Project1.git'にあるGitリポジトリを作成しました。 Project1.gitを提供するためにGitサーバを設定する必要はありません –
GITでSVNと同じ構造をしたいと思います。 GITリポジトリ内の意味:2つのサブフォルダProject1とProject2 with master ... Project1をプッシュすると、それはProject1という名前のフォルダではなく、リポジトリのルートにあります。 – Didier
これはGitの動作です。ブランチには、それ自身のサブツリーなどを持つツリー(フォルダー)があります。サブツリー内にブランチを含めることはできません。しかし、リポジトリ全体をディレクトリ(推奨しません)またはブランチ 'refs/heads//*'または 'refs/heads/ - *'のブランチメント(これもdoesnプロジェクトが関連していない場合は意味をなさない)。あなたがしたことは、最も合理的なことでした。 –