sync
Fetches, moves the canonical forward when it can do so without a merge, and then runs whatever the project says brings it up to date.
gitto syncFetches, moves the canonical forward when it can do so without a merge, and then runs whatever the project says brings it up to date.
$ gitto sync
canonical storefront moved 3 commits forward
running .gitto-refreshWhat the project declares
gitto cannot know what your project has to rebuild after a fetch. The project
does, so it writes it down in .gitto-refresh at the root of the canonical:
bun install --frozen-lockfile
make buildsync runs that file with sh in the canonical and says so before it starts.
Without the file, sync fetches and fast-forwards and stops there.
Why it matters
Every clone starts as a copy of the canonical, so a canonical three weeks behind
hands three-week-old dependencies to every lane you open. Nothing breaks loudly
when that happens; the install you thought you had skipped comes back. list
prints the distance on its first line so the drift stays visible.
list
One line per clone: its name, its branch, how much is uncommitted, how much is unpushed, and what it costs on disk. The first line is the canonical and says how far behind its upstream it is.
prune
Lists the clones whose branch is already merged into the canonical's upstream and which hold nothing uncommitted or unpushed. With `--remove`, it removes them.