简体   繁体   中英

How can I add a specific folder from a git repo as a git submodule?

I have a git repo and I want to add a submodule to it. Problem is, the submodule exists as a folder inside another repo. Can I add only that folder as a submodule?

I ended up doing this:

  1. Create a submodules directory.
  2. Add the submodule in this directory.
  3. Create a symlink to the specific directory inside the submodule.

This way you have default Git submodule behaviour and in your project you only use a subset of the whole submodule.

If you really need to include part of an other repository within the history of your own repo, then the subtree merge strategy is more adequate than submodules.

But in both case, the full repository is linked to your repo, not just one directory.
And partial cloning is not possible .

You could try and isolate that directory in its own repository, and then add it as a submodule, but that means its history will be totally seperated from the repo its was coming from originally.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM