Skip to content

Commit 96522fb

Browse files
committed
readme: Why not use Git Submodules instead?
1 parent ac9f8eb commit 96522fb

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@ Examples:
1717
* Update dependencies in all Go repos (or a subset using `--paths "go/**/foo"`).
1818
* Prompt an AI agent to make changes across repos and create PRs.
1919

20+
## Why not use Git Submodules instead?
21+
22+
Git Submodules track a specific commit in each sub-repo and embed that reference in the parent. This is the right tool when you need a **pinned, reproducible** dependency tree — but it's the wrong tool when your goal is a **workspace of independent repos** you want to keep up to date.
23+
24+
Gitjoin treats the listed repos as peers, not dependencies:
25+
26+
* No commit in the parent repo when a child repo changes.
27+
* No detached-HEAD checkouts — every repo stays on its default branch.
28+
* Adding or removing a repo is a one-line edit in `gitjoin.txt`, not a Git operation.
29+
* Shared configuration files (`AGENTS.md`, `firstup.env`, …) sit alongside the repos without being wired into their history.
30+
31+
If you need version-pinning, use submodules. If you need a convenient umbrella for many repos you actively develop, Gitjoin is a better fit.
32+
2033
## Tree structure
2134

2235
```

0 commit comments

Comments
 (0)