90

我试图从外部 github 存储库中获取一个文件夹以在我的项目中使用。

我希望我的项目设置是这样的:

-my_project
    -submodule
        -code.py
    -MY_README
    -.git

我有一个名为 some-submodule 的远程仓库,其结构如下:

-submodule
    -code.py
-README
-.gitignore

所以我只想将子模块文件夹添加到我的项目中。

但我结束了这个之后

git 子模块添加http://github.com/user/submodule.git子模块

-my_project
    -submodule
        -submodule
            -code.py
        -README
        -.gitignore
    -MY_README
    -.gitignore

我是 git 新手,所以我真的不知道是否可以只使用 git。如果有帮助,我正在 Windows 上使用 msysgit。

那么,无论如何我可以从公共回购中获得我的项目中的干净子模块文件夹吗?

如果您对我正在尝试做什么感到好奇,我会尝试直接从他们的存储库中获取这些 django 插件1 2以将它们添加到我的项目中。

4

3 回答 3

47

您想做的事情是不可行的,因为您无法克隆存储库的一部分。

重复查看详细信息如何更改 git 子模块以指向子文件夹?

于 2012-09-11T06:39:17.607 回答
7

如果你:

git submodule add http://github.com/user/submodule.git

直接在 下my_project,您应该最终得到所需的目录组织。

git submodule add手册页

可选参数<path>是克隆子模块存在于超级项目中的相对位置。
如果<path>未给出,则使用源存储库的“人性化”部分(“repo”代表“ /path/to/repo.git”,“ foo”代表“ host.xz:foo/.git”)。

于 2010-10-05T19:34:41.797 回答
1

只是

git submodule update --init --recursive

在项目的根目录中,它应该做你想做的事

于 2018-04-20T11:54:13.417 回答