2012-02-28 8 views
1

未知の地域に出くわす前に、あなたのうちの1人がGitの専門家に助言を与えることができるのだろうかと思います。バージョン管理下にあるネストされたプロジェクトは、これを中断しますか?

GitHubのバージョン管理下にある3つのプロジェクトのソリューションがあります。

私はトランクを私のソリューションで4番目のプロジェクトとしてプルダウンして、その修正をnuget.orgにプッシュするよりも早く解決できるようにしています。

バージョン管理されたソリューションの中にバージョン管理のlucene.netプロジェクトを入れ子にすることで、これは私のレポを破りますか?

+1

gitサブモジュールについてお読みください。 – svick

+0

ああ、これは知っておきたいことです。多分あなたは次の男のための答えとして素早い執筆をすることができますか?私はあなたも参照できる[link](http://progit.org/book/ch6-6.html)を見つけました。私はできるだけ早く受け入れます。 –

答えて

0

は、以下のレイアウトを想像:

a/ 
    .git/ 
    somefile1 
    somefile2 
    dir1/ 
     .git/ 
     file1 
     file2    

あなたがgit add dir1/file1git dd dir1/を発行する場合は、あなただけの "DIR1/FILE1" のようなファイルを追加します。しかし、git add dir1またはgit add .を実行すると、gitはコンテンツを追加せずに、 "dir1"サブリポジトリ内の最後のコミットへのポインタを追加するだけです。サブモジュールが作成されます(適切なセットアップのために、.gitモジュールも設定する必要があります)。 "git gui"はサブプロジェクトの候補としても表示されます。

独立した両方のリポジトリにファイルを含めることができます(最初の "dir1/file1"のように、もう一方のファイル "file1"など)、1つのリポジトリ内の "git checkout"(または他のコマンド)もう一方のファイル

あなたがしていることを確認するために、コミットする前にdiff( "git diff HEAD"のように)を見てください。 "Subproject commit b6030fea2687a6133c3a8d97e270485d9b5e552f"のようなものであれば、他のリポジトリへのポインタを追加するだけです。通常のdiffであればサブプロジェクトは使用せず、そこからファイルを追加するだけです。

関連する問題