# add/init all git submodules that are referenced in .gitmodules

2 messages from 2021-10-05 to 2021-10-06. Participants: Alexander Mills, Jeff King.
Thread: https://gitlist.dev/t/56650

## Alexander Mills, 2021-10-05 23:52

Subject: add/init all git submodules that are referenced in .gitmodules
Message-ID: <CA+KyZp75fjj9T0LjkpEjLMVf5KNguNZ1Ycxbb26ZnCGrK5zLAQ@mail.gmail.com>
URL: https://gitlist.dev/e/CA%2BKyZp75fjj9T0LjkpEjLMVf5KNguNZ1Ycxbb26ZnCGrK5zLAQ%40mail.gmail.com

```
I am looking for this feature:

https://stackoverflow.com/a/69458406/1223975

it is really confusing as to why it doesn't exist

-- 
Alexander D. Mills
New cell phone # (415)730-1805
linkedin.com/in/alexanderdmills

Sender notified by
Mailtrack 10/05/21, 04:51:40 PM
Remove

```

## Jeff King, 2021-10-06 19:28

Subject: Re: add/init all git submodules that are referenced in .gitmodules
Message-ID: <YV3444Bvvfzp37Di@coredump.intra.peff.net>
URL: https://gitlist.dev/e/YV3444Bvvfzp37Di%40coredump.intra.peff.net
In-Reply-To: <CA+KyZp75fjj9T0LjkpEjLMVf5KNguNZ1Ycxbb26ZnCGrK5zLAQ@mail.gmail.com>

```
On Tue, Oct 05, 2021 at 04:52:00PM -0700, Alexander Mills wrote:

> I am looking for this feature:
> 
> https://stackoverflow.com/a/69458406/1223975
> 
> it is really confusing as to why it doesn't exist

I'm not sure I understand what is being asked for.

If you just want to initialize and populate all of the modules in
.gitmodules (which is what I thought your subject line was asking for),
then:

  git submodule update --init

will do that (though of course if you are cloning anyway, you can just
say "--recurse-submodules).

But reading the original SO question, it is about finding repositories
in the current directory that _aren't_ submodules, and then adding them.
But those ones wouldn't be referenced in .gitmodules.

For that problem, no, I don't think there's an easy command, and you
have to dig for them (though "git ls-files -o --exclude-standard" is
perhaps a good way to locate them). But it's also not something I'd
expect to be a very common operation, which is why there's not an
existing command to do it.

-Peff

```
