2016-06-17 8 views
1

私はWebプロジェクトを開発し、gitで追跡しました。後でもう一つの大きなプロジェクトでこのプロジェクトを使用しなければなりませんでした。これはgitによって再び追跡されます。以前私はgitサブモジュールについて知識がありませんでした。そこですぐに小さなプロジェクトフォルダを大きいプロジェクトフォルダにコピーしました。Gitトラッキングフォルダ内のGitトラッキングフォルダ

大きなプロジェクトをリモートリポジトリにプッシュすると、リモートリポジトリが小さなプロジェクトをそれぞれのリモートリポジトリにリンクしていることがわかりました。私が大きなプロジェクト内の小さなプロジェクトで何かを変更した場合、それは追跡されていません。小さなプロジェクトの.gitフォルダだと思ったので、そのフォルダを削除しました。今私は小規模なプロジェクトの遠隔レポに踏み込むことさえできません。これにはどんな解決策がありますか?小さなプロジェクトを大きなプロジェクトのgitサブモジュールにすることができるように、私がやったことをすべて元に戻すことはできますか?

+3

'.git'フォルダを削除すると、Gitがそのリポジトリを管理するために必要なものすべてを削除しました。だから、あなたはそのリポジトリを効果的に破壊しました。もう一度クローンを作成する必要があります。そして、ええ、後であなたの内部リポジトリをサブモジュールとして導入するのを止めるものは何もありません。 – poke

答えて

3

大きなプロジェクト内の小さなプロジェクトで変更したものは、追跡されません。

それはgitlink for nested repoとして、親プロジェクトで見られたので、それは追跡されていません。つまり、実際のコンテンツではなくSHA1だけです。

最初のレポがどこか遠隔地にプッシュされた場合は、を入力してと入力して、メインリポジトリのサブモジュールとしてgit submodule addを追加することができます。

cd second/big/repo 
git submodule add -- /url/first/repo 

ない場合、あなたは、あなたの最初のレポ(外の大きなレポ)を再作成(GitHubに、GitLab、のBitbucket、...)どこかのリモートにそれをプッシュし、あなたの大きなのサブモジュールとして追加する必要がありますレポ

関連する問題