Git submodule from subdirectory?

Let’s say I have two git repos. RepoA is a common repo that should be shared among other projects. ReopB is some project that needs to access something in RepoA.


  • Empty all previous commits in Git?
  • Determine current code distribution by author
  • Git command to programatically add a range of lines of a file to the index?
  • Detailed explanation of 'git remote show'
  • Azure Github deployement from private repository
  • Steps for pulling from remote using pygit2
  • https://.../RepoA


                /Project1  #Submodule of RepoA at /Source/Project1

    Using the illustration above, you can see what I am trying to do is configure a submodule that is not the root of RepoA, but a specific path within the repo. In this case, I want to map RepoB/Source/RepoA/Project1 to RepoA/Source/Project1.

    I’ve done some research and it seems that it is not straightforward, or perhaps not possible to do this. I hope I’m wrong!

    We’re moving from SVN to GIT and in SVN we were using Externals to accomplish this with ease.


    I am also open to restructuring RepoA. But I want to keep the main structure in place. For instance, if I can somehow branch each Project within RepoA/Source/…but I don’t want this to get complex.

  • How can I recover my commit after I did a git reset --hard head?
  • Can I have git send out an email with the post-receive-email scripts if my repo is on a Windows machine?
  • What exactly does the “u” do? “git push -u origin master” vs “git push origin master”
  • How to add a subproject working copy to a workspace in Xcode 5?
  • How can I decorate a git log with its nearest tag?
  • How can I build my local git repo on external server?
  • One Solution collect form web for “Git submodule from subdirectory?”

    Have you considered splitting up the ‘Projects’ in RepoA such that they are separate repos? You could do this by using git subtree split. Then you include the Project1 repo as submodules in both RepoA and RepoB.

    Git Baby is a git and github fan, let's start git clone.