2011-08-11 44 views
21

私は現時点でSVNのユーザーで、私のプロジェクトをgitに移しています。1つのgitリポジトリに複数のプロジェクトがありますか?

私は作成したすべてのプロジェクトを1つのSVNリポジトリで保持しています。あなたは、私はグループに私のプロジェクトを維持し、/libは、プロジェクト間で共有ライブラリが含まれて見ることができるように

/ 
    /group1 
     /subgroup1 
      /project1 
       /branches 
        ... 
       /tags 
        ... 
       /trunk 
        ... 
      /project2 
       ... 
     /subgroup2 
      /project3 
       ... 
      /project4 
       ... 
    /group2 
     /subgroup3 
      ... 
     /subgroup4 
      ... 
    /lib 
     /lib1 
     /lib2 
     /lib3 

:私の構造は、このようなものです。

ので、私はこの種の構造を選択しました:類似レポ構造は、私はSVNを使用することを学んだ企業で使用された

  1. すべてのプロジェクトがホストされているマシン上で、サービス/デーモンとして実行されているsvnserveを許可します(私はファイルパスの方法が嫌いです)。

今...ポイントに。私は不思議に思っていた:

私はgitに移動する場合、この種のワークフローはどのように働くだろうか?

具体的に:

  1. それはgitのためにレポツリーを移行するのは簡単でしょうか?
  2. プロジェクトごとに別々のrepo *が必要であるとすれば、どのようにしてsvnserve git相当の方法でそれらをすべて(同様の方法でグループ化するのが理想的です)提供できますか?

*)私はgitについて読んでいますが、私はそれが事実だと理解していますが、私は経験豊富な人と二重チェックしたいと思いました。

答えて

29

Gitでは、各プロジェクトを独自のリポジトリに、ライブラリを別のリポジトリに入れて、必要に応じて各プロジェクトのサブモジュール(svn外部と同じ)として使用する方がよいでしょう。

これは、Gitでは、リポジトリがSVNよりはるかに軽量であり、さらに重要なのは、あなたとは別にレポ内に個々のフォルダをクローンする機能(スパースチェックアウトと混同しないでください)はありませんチェックアウトしてSVNの個々のフォルダで作業することができます。ですから、すべてのプロジェクトを単一のレポにまとめると、すべてのプロジェクトを複製する必要があります。

スマートhttp、gitデーモン、sshを使ってGitリポジトリにサービスを提供するのはかなり簡単です。複数のrepos(承認と認証を含む)を管理するためのGitoliteもあります。 GitリポジトリにリンクされているProGitのリンク先を読むrepos- http://progit.org/book/ch4-2.html

グループに来ると、あなたのグループ構造に従ってフォルダにreposを入れて、スマートhttpメソッドを使ってリポジトリのURLを表示することができますあなたはいつもと仕事をしなければならないので、あなたはSVNで使用しているだろうURLを、すべてのプロジェクトは、グループの下にあることを思われますなど

+0

私は実際に行くとgitを理解するために本を買うかもしれません。私は私のSVNリポジトリをメインリポジトリとして保持し、ローカルソース管理のためにgitを使うのは、それが意味をなさないと思っているだけです。私は複数のマシンで作業する傾向があるので、これは私が思うにいくらか意味をなさないでしょう。 –

+0

@Michal Mはい、多くはgit-svnブリッジで行います。実際にそれを行うには、実際に悪い選択ではありません – manojlds

+0

仲間ありがとう、あなたの答えは間違いなく私の一日を作った –

1

あなた 1つのリポジトリ内のすべてのプロジェクトを持っている可能性がありますが、それは本当に悪い考えですレポ全体

gitサーバーを実行するには、1人のユーザー(あなた)が必要な場合は、gitおよびsshアクセスがインストールされたサーバーで十分です。例えばthis articleを参照してください。

5

その他の回答に加えて、GitSlaveを使用して複数のgit reposをリンクすることもできます。

関連する問題