0

次のようなディレクトリ構造があります。

root/
    files
    dir1/
        main-project-files
        main-project-subdirs/
    dir2/

メール プロジェクトに追加したい別のリポジトリがあります。次のような構造になっています。

dir1/
    submodule-files
    submodule-subdirs/

問題は、メイン プロジェクトと外部リポジトリの両方のファイルを同じフォルダーにしたいのですが、メイン プロジェクトの一部であるファイルをリポジトリの一部として追跡しdir1たくないということです。dir1次のような全体的な構造で終わります。

root/
    files
    dir1/
        main-project-files
        main-project-subdirs/
        submodule-files
        submodule-subdirs/
    dir2/

これを達成する方法はありますか?

4

2 に答える 2

0

あなたがすることは、追跡したいディレクトリに、追跡したくないディレクトリを指す、またはそこから指されるシンボリックリンクを持つことです。シンボリックリンクを追跡したくない場合は、それを gitignore に追加できます。Git は、追跡されたディレクトリを表示するだけで、symlinc が指している場所について何も知りません。

于 2013-03-10T18:09:06.650 に答える
0

Git には、どのディレクトリのどのファイルが任意の履歴のリストのどのファイルから来ているかを正確に示す複雑なリストを作成する機能が実際にはありません。その背後にある理由は、人間がリストを追跡して検証することは、リストで何ができて何ができないかを正確に説明するのと同じように、不必要にエラーが発生しやすいということだと思います.

コミュニティと履歴を共有するすべてのものをリポジトリセットに保持し、それを使用する他のすべてのサブモジュールとしてクローンします。どのファイルがどの履歴の一部であるかのルールを使用すると、同じ効果が得られます。これは、検証がはるかに簡単です (説明は言うまでもありません)。

于 2013-03-10T18:33:11.803 に答える