Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git移除子模块并添加另一个fork-back_Git_Github - Fatal编程技术网

Git移除子模块并添加另一个fork-back

Git移除子模块并添加另一个fork-back,git,github,Git,Github,我要离开Github。mapbox ios sdk用作子模块。我想要我自己的(实际上只是从另一个项目添加了一个sqlite3.h),所以我想要我自己的sdk分支 因此,在我自己的fork上,我试图删除原来的FMDB子模块,并添加了我自己的fork。我根据移除了子模块。然后,我通过以下方式将自己的FMDB fork添加到与原始FMDB子模块相同的目录中: git子模块添加https://github.com/t2wu/fmdb ./MapView/Map/FMDB 现在我遇到了我无法解释的事情。上

我要离开Github。mapbox ios sdk用作子模块。我想要我自己的(实际上只是从另一个项目添加了一个sqlite3.h),所以我想要我自己的sdk分支

因此,在我自己的fork上,我试图删除原来的FMDB子模块,并添加了我自己的fork。我根据移除了子模块。然后,我通过以下方式将自己的FMDB fork添加到与原始FMDB子模块相同的目录中:

git子模块添加https://github.com/t2wu/fmdb ./MapView/Map/FMDB

现在我遇到了我无法解释的事情。上面的命令不起作用!它可以下载FMDB,但我不会在
/MapView/Map/FMDB/src
中看到sqlite3.h。(还有
git log--graph
我没有看到我自己提交的sqlite3.h,我是master。)但是如果我把它放在别处,比如

git子模块添加https://github.com/t2wu/fmdb ./MapView/MapView/FMDB

git子模块添加https://github.com/t2wu/fmdb FMDB


然后我确实看到了sqlite3.h。会发生什么?它是否与CocoaPod有任何关系,mapbox ios sdk显然也支持哪一个?

虽然您删除了旧的子模块,但元数据仍然保留在.git/modules/MapView/Map/FMDB中

自git 1.7.8以来,git将子模块元数据存储在父存储库的.git目录中,而不是子模块中单独的.git目录中。这就是为什么您会看到旧子模块的历史记录和工作树

要使所有内容恢复原状,请转到父存储库的底部并运行:

git submodule sync
cd MapView/Map/FMDB
git fetch
git checkout origin/master

如果我要重新开始。要干净地删除子模块,我现在是否需要手动删除.git/modules/MapView/Map/FMDB处的整个目录?提交删除子模块后,我将删除所述目录。我添加了自己的模块分支,它就可以工作了。非常感谢。这件事我已经绞尽脑汁好几个小时了!你甚至不需要这样做。重要的部分是运行同步,它告诉git从您的FMDB fork而不是原始fork获取对象。您是否尝试过git submodule init和git submodule update?