You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,19 @@ Examples:
17
17
* Update dependencies in all Go repos (or a subset using `--paths "go/**/foo"`).
18
18
* Prompt an AI agent to make changes across repos and create PRs.
19
19
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.
0 commit comments