1

次のようなディレクトリ構造を持つハードドライブにローカル svn リポジトリがあります。

[root]
Project1/
Project2/
Project3/
Project4/

お気づきのように、これは標準的な SVN レイアウトではありません。

今、これらすべてのプロジェクトをインポートする新しい git リポジトリを作成したいと考えています。これらのプロジェクトがすべて単一のフォルダーにない限り、ディレクトリ構造の変更は気にしません。

TortoiseSVN と TortoiseGit がインストールされています。

私は次のことを試みましたが、これらの内部の仕組みを理解できないか、これには新しすぎます。

ここで私を助けてください。

ありがとう、

4

2 に答える 2

1

1 つの Git リポジトリに異なるプロジェクトを混在させるべきではないと思います。私のお勧めは、プロジェクトごとに 1 つの Git リポジトリを作成することです。SVN とは対照的に、Git はサブツリーのコミットと更新を許可しません。これらすべてのプロジェクトを 1 つのリポジトリに入れると、git のプッシュ / プル / マージのワークフローが少し厄介になります。

あなたがプロジェクト 1 に取り組んでいると想像してください。あなたは喜んで何かを追加してコミットします。サーバーにプッシュしたいのですが、同僚がプロジェクト 2 に変更をプッシュしているため、プッシュできません。これは私には意味がありません。

4 つのプロジェクトすべてを 1 つのマスター プロジェクトにまとめたい場合でも、新しい Git リポジトリを作成し、それらの 4 つのプロジェクトをサブモジュールとして追加できます。

1 つのプロジェクトから Git リポジトリを作成するには、git svn clone SVN_REPO. SVN ignores を gitignores ファイルに抽出することをお勧めしますgit svn show-ignore >>.gitignore。その後、マスター プロジェクトを作成し、それを使用git submodule addしてプロジェクトを追加します。

于 2012-05-21T19:07:21.177 に答える
-1

私はこれに対する実行可能な解決策を見つけることができませんでした。

空のgitリポジトリにすべてをエクスポートしてプッシュしました。すべての改訂履歴を失います。

とにかく皆さんありがとうございます。誰かがこれを解決できることを願っています。

于 2012-05-23T12:07:17.893 に答える