如何仅从 git 子模块克隆文件夹?

发布于 2024-09-26 04:52:28 字数 953 浏览 3 评论 0原文

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

我希望我的项目设置如下:

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

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

-submodule
    -code.py
-README
-.gitignore

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

但我最终得到了这个

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

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

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

那么,我是否可以从公共存储库中获取项目中干净的子模块文件夹?

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

I'm trying to get just a folder from an external github repo to use in my project.

I want my project setup to be like this:

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

And I have the remote repo named some-submodule with following structure:

-submodule
    -code.py
-README
-.gitignore

So I just want the submodule folder added to my project.

But I end up with this after

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

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

I am new to git so I really don't know if it possible using just git. If it is of some help I'm using msysgit on windows.

So, is there anyway that I can get a clean submodule folder in my project from a public repo?

If you're curious of exactly what I'm trying to do I'm trying to take directly from their repos these django plugins 1 2 to add them to my project.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

固执像三岁 2024-10-03 04:52:28

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

请参阅重复的详细信息 如何更改 git 子模块指向子文件夹?

What you want to do is not feasible because you cannot clone a part of a repository.

See details in duplicate How to change a git submodule to point to a subfolder?

中性美 2024-10-03 04:52:28

如果您:

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

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

来自 git submodule add 手册页

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

If you:

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

directly under my_project, you should end up with the desired organization of directories.

From git submodule add man page:

The optional argument <path> is the relative location for the cloned submodule to exist in the superproject.
If <path> is not given, the "humanish" part of the source repository is used ("repo" for "/path/to/repo.git" and "foo" for "host.xz:foo/.git").

耳根太软 2024-10-03 04:52:28

git submodule update --init --recursive

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

just

git submodule update --init --recursive

in the root-directory of your project and it should do what you want

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文