1# hierarchical versioning
2
3this is what makes sublimated different from GitHub, GitLab, or any other git host. every folder in your space has its own independent git history, and changes cascade commits from the file level up to the root.
4
5## how it works
6
7a space is a tree. when you change a file, sublimated creates commits at every level of the tree.
8
9change `anton/blog/archive/post.md`:
10
11```
12anton/blog/archive/post.md ← file changed
13anton/blog/archive/ ← commit created here
14anton/blog/ ← commit created here
15anton/ ← commit created here (space root)
16```
17
18all commits are created in one atomic transaction. each level's commit contains a tree rooted at that level — only the files under that folder.
19
20## clone any folder
21
22because real commits exist at every level, you can clone any folder independently:
23
24```bash
25git clone https://sublimated.com/anton.git # whole space
26git clone https://sublimated.com/anton/blog.git # just blog + children
27git clone https://sublimated.com/anton/blog/archive.git # just archive
28```
29
30each clone gets:
31- only files under that path
32- only commits that touched that subtree
33- [branches](branches.md) scoped to that level
34- a clean, self-contained git history
35
36no sparse-checkout, no filtering. the server gives you a real git repo for that folder.
37
38## what this enables
39
40the hierarchical model gives you several things without needing separate products:
41
42- **gists** — a single file in a folder is a gist with version history. `sublimated.com/anton/snippets/hello.py`
43- **dotfiles** — `sublimated.com/anton/dotfiles/` — clone on any machine, push changes
44- **personal storage** — private space with file history, clone and sync anywhere
45- **scoped access** — clone only `platform/api/` or `platform/frontend/`, each team gets just what they need
46- **dataset versioning** — every change tracked, any version reproducible, clone a subset for experiments
47- **agent workspace** — an AI agent clones a folder, works in it, pushes results. full history of what the agent did
48
49## version history per folder
50
51browse to any folder on `sublimated.com` and you see its commit history — only the changes that affected that folder and its children. no noise from unrelated parts of the space.
52
53```
54sublimated.com/anton/blog/archive → shows commits that touched archive/
55sublimated.com/anton/blog → shows commits that touched blog/ (including archive/)
56sublimated.com/anton → shows all commits in the space
57```
58
59same for `git log` after cloning — you only see relevant history.
60
61## how it compares
62
63| | GitHub | sublimated |
64|---|---|---|
65| clone whole repo | yes | yes |
66| clone single folder | no | yes |
67| clone subfolder of subfolder | no | yes |
68| per-folder commit history | no | yes |
69| per-folder [branches](branches.md) | no | yes |
70| per-folder access control | no | yes |
71
72on GitHub, a repo is the atomic unit. on sublimated, a folder is.
73
74see [git overview](index.md) for how to clone and push, or [branches](branches.md) for how branch scoping works with the hierarchy.