直到最近,我才有了这个文件结构:
-Repo A
|- .git
|- files
|- Repo B
|- .git
|- files
然后我随便在Repo A上检查了一个不同的分支(只需在Github for Mac中切换分支),立即切换回来,然后发表声明:
-Repo A
|- .git
|- files
|- Repo B
Repo B在那里但是空了!甚至不是.git目录!
没有遥控器,还有2周的3D建模。
(具有讽刺意味的是,我的第一个3D模型(在所有这一切之前)腐败了所以我想我会定期使用git并提交。所以我做了......)
答案 0 :(得分:3)
嵌套的git repo仅记录为 gitlink ,这是主要回购邮件的特殊entry in the index。
当您结帐回原始分支时,Git会恢复gitlink,但不知道SHA1来自哪个仓库。
要同时保留SHA1 和内容,您需要将repo private void createFolder() {
if (isStoragePermissionGranted()) {
File folder = new File(Environment.getExternalStorageDirectory()+ File.separator + "DebugData");
if(!folder.exists()){
folder.mkdir();
}
}
public boolean isStoragePermissionGranted() {
if (Build.VERSION.SDK_INT >= 23) {
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
return true;
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
return false;
}
}
else { //permission is automatically granted on sdk<23 upon installation
return true;
}
}
声明为 submodule 。
然后,您将在主回购B
中拥有一个.gitmodules
文件,该文件将保留回购A
远程源网址的记录。