#git (2020-03)
All things git (except gitops)
2020-03-03
![Zachary Loeber avatar](https://avatars.slack-edge.com/2020-05-13/1115475485942_e68ae4d6556df390de70_72.jpg)
@Zachary Loeber has joined the channel
![Zachary Loeber avatar](https://avatars.slack-edge.com/2020-05-13/1115475485942_e68ae4d6556df390de70_72.jpg)
set the channel description: All things git (except gitops)
![Zachary Loeber avatar](https://avatars.slack-edge.com/2020-05-13/1115475485942_e68ae4d6556df390de70_72.jpg)
I don’t want to put git related questions out in #general so I created this channel instead. Crazy? Perhaps, but so is git sometimes.
![nian avatar](https://avatars.slack-edge.com/2018-11-07/475121190983_54ee9c56bf8f4160db23_72.jpg)
@nian has joined the channel
![Zachary Loeber avatar](https://avatars.slack-edge.com/2020-05-13/1115475485942_e68ae4d6556df390de70_72.jpg)
That being said…. I’m curious how my fellow devops practitioners are managing projects with several git repos (sometimes several dozen in my case)? I’ve found that git submodules obfuscate a repository so I tend to minimize using them.
![Zachary Loeber avatar](https://avatars.slack-edge.com/2020-05-13/1115475485942_e68ae4d6556df390de70_72.jpg)
Right now I tend to create an ‘umbrella’ repo which contains a Makefile to pull down the project’s repos into a schema broken down by category (which is usually one category per team on the project then a few extras like platform, infra, and environment)
![Zachary Loeber avatar](https://avatars.slack-edge.com/2020-05-13/1115475485942_e68ae4d6556df390de70_72.jpg)
It seems like I’m missing a tool that may do the job more succinctly than that though?
![Andriy Knysh (Cloud Posse) avatar](https://avatars.slack-edge.com/2018-06-13/382332470551_54ed1a5d986e2068fd9c_72.jpg)
@Andriy Knysh (Cloud Posse) has joined the channel
![Paul Nicholson avatar](https://secure.gravatar.com/avatar/aef67adf5e6417a88cdea16cdbfa52fd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
@Paul Nicholson has joined the channel
![bradym avatar](https://avatars.slack-edge.com/2023-06-21/5464816405572_dd21bed1bf537acb6539_72.jpg)
@bradym has joined the channel
![Joe Niland avatar](https://secure.gravatar.com/avatar/b90c8e752dd648ef229096c60ba2408f.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png)
@Joe Niland has joined the channel
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
@Erik Osterman (Cloud Posse) has joined the channel
![ikar avatar](https://avatars.slack-edge.com/2019-12-12/872745210438_a9cbe68481dd0d2b9e3d_72.jpg)
@ikar has joined the channel
2020-03-04
![andrey.a.devyatkin avatar](https://avatars.slack-edge.com/2020-10-15/1414538673559_734105299dec4a795ef1_72.jpg)
@andrey.a.devyatkin has joined the channel
![Jeff Young avatar](https://secure.gravatar.com/avatar/fc1630eecb3c58e5c914e3931edf98ce.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png)
@Jeff Young has joined the channel
![vFondevilla avatar](https://avatars.slack-edge.com/2020-07-20/1264409839361_95bd4eea5ea6f16d291a_72.jpg)
@vFondevilla has joined the channel
![vFondevilla avatar](https://avatars.slack-edge.com/2020-07-20/1264409839361_95bd4eea5ea6f16d291a_72.jpg)
avoid the submodules. I had big troubles with them, breaking the CI/CD process because the development team didn’t understand fully how the submodules works (heck neither I fully understand)
![vFondevilla avatar](https://avatars.slack-edge.com/2020-07-20/1264409839361_95bd4eea5ea6f16d291a_72.jpg)
so we’re running with for loops
![vFondevilla avatar](https://avatars.slack-edge.com/2020-07-20/1264409839361_95bd4eea5ea6f16d291a_72.jpg)
we’re running with about 40 different repos.
![curious deviant avatar](https://secure.gravatar.com/avatar/411163c2cc441fcb6a78a5e2ee5f2661.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png)
@curious deviant has joined the channel
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Yea, submodules are a red-herring. They look like the “perfect solution” to meld poly repos into one repo as necessary, only very few know how to use them in practice. I confess having used them many times, but always forget the syntax and always regret it after the fact. The Makefile
with a target to check out the repos is just so much more straight forward!
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Here’s an example using a Makefile
https://github.com/cloudposse/actions/blob/master/github/Makefile
Our Library of GitHub Actions. Contribute to cloudposse/actions development by creating an account on GitHub.
![grv avatar](https://secure.gravatar.com/avatar/00a40e0ac3801056abee066738ae8219.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png)
@grv has joined the channel
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
![Zachary Loeber avatar](https://avatars.slack-edge.com/2020-05-13/1115475485942_e68ae4d6556df390de70_72.jpg)
Great article. It took some time for me come to some of the same realizations
2020-03-05
![Joe Presley avatar](https://avatars.slack-edge.com/2021-04-22/1999001350244_6ed74ac664e8eee4204c_72.jpg)
@Joe Presley has joined the channel
2020-03-13
![Jann Speyer avatar](https://secure.gravatar.com/avatar/2e6172d33dce132899fe9ff2fdc5b5fb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png)
@Jann Speyer has joined the channel
2020-03-23
![Corey Gale avatar](https://secure.gravatar.com/avatar/54e4aef217629a256af12e96eac7efb9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
@Corey Gale has joined the channel
2020-03-27
![Erik Osterman (Cloud Posse) avatar](https://secure.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png)
Adding @discourse_forum bot
![discourse_forum avatar](https://avatars.slack-edge.com/2020-03-26/1029663249525_451a74d3463357c40dbf_72.png)
@discourse_forum has joined the channel