2017-01-31 8 views
1

にチェックアウトを行うことで、ネストされた子のレポを失った、私は、このファイル構造を持っていた:注意!つい最近までは、親

-Repo A 
|- .git 
|- files 
|- Repo B 
    |- .git 
    |- files 

私は、その後何気なくレポA上の別のブランチをチェックアウトした(単にMac用のGithubに支店を切り替え)、直ちにスイッチバックして、声援:

-Repo A 
|- .git 
|- files 
|- Repo B 

Repo Bは空ですが空です! .gitディレクトリでさえない!

リモコンがなく、3Dモデリングの2週間がかかります。

(私の最初の3Dモデル(これ以前)は壊れていたので、私はgitを使い、定期的にコミットしていたと思っています...)

答えて

3

ネストされたgit repoは、gitlinkとして記録されます。これは、メインリポジトリの特別なentry in the indexです。

元のブランチにチェックアウトすると、Gitはgitlinkを復元しますが、SHA1がどのrepoから来ているのか分かりません。

SHA1 両方のコンテンツを維持するために、あなたはsubmoduleとしてレポBを宣言する必要があります。
次に、メインリポジトリA.gitmodulesというファイルがあります。これは、リモートのオリジンURLであるrepo Bの記録を保持します。

関連する問題