Hacker ApprovedDepartments

Git submodules

Ranked 4 of 9 version control features by recommenders

Recommended for referencing other repositories inside one project and for simple, built-in setup with Git. Critics agree they are awkward, buggy in places and painful to use day to day.

Recommended for referencing other repositories inside one project and for simple, built-in setup with Git. Critics agree they are awkward, buggy in places and painful to use day to day.

27 people gave an opinion

recommend it
14
criticize it
13
approval share
52%
Each figure is one person. RecommendsCriticizes

Recommended in 7 of 13 months

  1. November 2025: not recommended
  2. December 2025: recommended
  3. January 2026: not recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: not recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: not recommended
  10. August 2026: not recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 14 people recommend itNeeds 10 or more, met.
  • 1 recommender for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 7 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Brings other repos into one project

    “It gives me a monorepo experience in repos that otherwise aren't/can't exist as one monorepo for various reasons.”

    Comment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

    “They're the best way we have to reference other repositories from one repository.”

    Comment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”
  • Simple and easy to set up

    “Super easy. Also makes it straightforward to develop patches to send upstream from within your project.”

    Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

    “They're not hard to work with.”

    Comment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”
  • Designed well for their purpose

    “they're extremely useful and designed basically exactly how you'd want”

    Comment from 5 Sep 2026 in “Git Submodules as a Package Manager”

    “I think submodules are good enough for what they do”

    Comment from 5 Sep 2026 in “Git Submodules as a Package Manager”

    “they still make more sense. The are composable!”

    Comment from 30 Dec 2025 in “Everything as Code: How We Manage Our Company in One Monorepo”

What people warn about

Each mark is one comment

  • Painful, awkward and miserable to use

    “Submodules aren't perfect and can be really annoying. I tried to avoid them at first.”

    Comment from 5 Sep 2026 in “Git Submodules as a Package Manager”

    “working with git submodules is such an needlessly miserable experience”

    Comment from 1 Mar 2026 in “Cracking the Python Monorepo”

    “One is easy and the other is about as fun as having teeth extracted.”

    Comment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”
  • Gotchas and inherited Git flaws

    “Kind of feels like there's little point using it if it's just going to copy Git's mistakes.”

    Comment from 25 Oct 2026 in “JetBrains Thinkrail”

    “git submodule implementation has even more hairs than worktrees”

    Comment from 15 Apr 2026 in “What is jj and why should I care?”

    “Git submodules are the regular expressions of version control.”

    Comment from 17 Jun 2026 in “Epic Games announces Lore version control system”

Other version control features people recommend

The four most recommended other version control features, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Git submodules compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Git worktree582173%11—Approved
git rebase241365%9——
git rerere19483%8—Approved
Git submodulesThis page141352%7——
git add -p13476%7—Approved
See all 9 version control features, ranked

What people said

31 of the 33 comments that mention it, newest first. Each links to the original comment.

“Kind of feels like there's little point using it if it's just going to copy Git's mistakes.”

CriticizesComment from 25 Oct 2026 in “JetBrains Thinkrail”

“Telling people not to use a core git feature isn't viable”

RecommendsComment from 2 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“One is easy and the other is about as fun as having teeth extracted.”

CriticizesComment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“They're not hard to work with.”

RecommendsComment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“git submodules has always been a major dumpster fire”

CriticizesComment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“have the same SHA-1/SHA-256 incompatibility issue that submodules do”

CriticizesComment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“Instead of using an elegant mechanism”

RecommendsComment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“They're the best way we have to reference other repositories from one repository.”

RecommendsComment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“It gives me a monorepo experience in repos that otherwise aren't/can't exist as one monorepo for various reasons.”

RecommendsComment from 1 Oct 2026 in “Git 3.0's upcoming SHA-256 default will be a costly mistake”

“I think submodules are good enough for what they do”

RecommendsComment from 5 Sep 2026 in “Git Submodules as a Package Manager”

“they are both shitty solutions”

CriticizesComment from 5 Sep 2026 in “Git Submodules as a Package Manager”

“Submodules aren't perfect and can be really annoying. I tried to avoid them at first.”

MixedComment from 5 Sep 2026 in “Git Submodules as a Package Manager”

“It is known to be buggy and can break your .git directory”

MixedComment from 5 Sep 2026 in “Git Submodules as a Package Manager”

“IMO they're almost always the wrong solution.”

MixedComment from 5 Sep 2026 in “Git Submodules as a Package Manager”

“they're extremely useful and designed basically exactly how you'd want”

RecommendsComment from 5 Sep 2026 in “Git Submodules as a Package Manager”

“without the downsides of git submodules”

CriticizesComment from 22 Jun 2026 in “Git is forever. I'm building Oak anyways”

“there's LFS and submodules. It's just that those both suck balls.”

CriticizesComment from 17 Jun 2026 in “Epic Games announces Lore version control system”

“Git submodules are the regular expressions of version control.”

CriticizesComment from 17 Jun 2026 in “Epic Games announces Lore version control system”

“the issue with using submodules is you still need the rights to pull the other source repo”

MixedComment from 17 Jun 2026 in “Epic Games announces Lore version control system”

“The way I usually solve this is by using git submodules.”

RecommendsComment from 17 Jun 2026 in “Epic Games announces Lore version control system”

“Vendorizing using git submodule should be a robust mitigation for this problem.”

RecommendsComment from 16 May 2026 in “'No Way to Prevent This,' Says Only Package Manager Where This Regularly Happens”

“git submodule implementation has even more hairs than worktrees”

CriticizesComment from 15 Apr 2026 in “What is jj and why should I care?”

“Super easy. Also makes it straightforward to develop patches to send upstream from within your project.”

RecommendsComment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

“working with git submodules is such an needlessly miserable experience”

CriticizesComment from 1 Mar 2026 in “Cracking the Python Monorepo”

“If you do not need the features of a package manager, then git submodules is great indeed.”

RecommendsComment from 18 Feb 2026 in “A header-only C vector database library”

“the tooling support around it just makes it super painful”

CriticizesComment from 17 Feb 2026 in “Evolving Git for the Next Decade”

“submodules are so awful in practice”

CriticizesComment from 15 Feb 2026 in “Git is a file system. We need a database for the code”

“I did use submodules but I find monorepo easier to manage”

CriticizesComment from 30 Dec 2025 in “Everything as Code: How We Manage Our Company in One Monorepo”

“git submodules have some serious gotchas”

CriticizesComment from 30 Dec 2025 in “Everything as Code: How We Manage Our Company in One Monorepo”

“they still make more sense. The are composable!”

MixedComment from 30 Dec 2025 in “Everything as Code: How We Manage Our Company in One Monorepo”

“Git submodules are absolutely awful.”

CriticizesComment from 6 Dec 2025 in “Stacked Diffs with git rebase —onto”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.