works with
Docs

Git in Quilt

Git keeps the history; Quilt keeps everyone in step. Quilt runs a lightweight git layer in every folder, so a pull, a stash or a branch switch on one computer never scrambles anyone else's work.

Nobody has to manage it. This page covers what the layer reads, every git operation it handles, how it respects branches, and how commits fit in.

Two layers, one folder

Above the line, Quilt carries every edit between everyone in seconds, AIs and cloud agents included. Below it, git works the way it always has: each person commits, pushes and pulls on their own computer.

Reads git, never writes itNo commits, pushes or branch changes, ever.
Nothing to manageNo setup, no settings, nothing to remember.
Git or no gitFolders without git, and cloud agents, sync just the same.
A Quilt session keeps three folders live: yours in Claude Code, Sam's in Cursor, and Larry the agent's in the cloud. Below the line, each computer commits, pushes and pulls with origin in git, as usual.LIVE · EVERY EDIT, IN SECONDSQuilt sessionrelay.heyquilt.comYour folderClaude Code⎇ mainSam's folderCursor⎇ mainLarryAgentCodex, in the cloudno git, still liveHISTORY · ON EACH COMPUTERcommit · pushpulloriginGitHub, GitLab…Quilt's git layer reads each folder's git, so pulls and stashes are never sent as edits

A lightweight git layer, built in

Each folder in a session has Quilt's git layer watching it. It asks git what just happened (an edit, a pull, a stash, a branch switch) and handles it, so the session's work stays apart from what git did on one computer. You keep using git exactly as you do now.

All it reads

HEADgit statusa file at a commitmerge or rebase in progress.gitignore
  • Never commits
  • Never pushes
  • Never merges history
  • Never touches GitHub
  • Never switches branches
  • Never runs an AI to merge
  • The one change it makes: .quilt/ in your .gitignore

Every git operation, handled

Run any of these on your computer, or let your AI run them. Here is what happens for everyone else in the session.

Saving and syncing

New commits, yours or a teammate's
git commitgit push
nothing to do

Committing changes no files, so nothing is sent. Teammates who pull later get content they already have.

git pullgit mergefast-forward
merged

New commits are merged into the session's work line by line. Overlaps are handed to you and your AI; real clashes show in the Merges bar.

git rebasegit cherry-pickgit revert
merged

Treated like a pull: only files that changed between the two commits are touched. Everything else stays as the session has it.

stash, pull, pop
merged once

A stash, a pull and a pop land as one merge once git settles. Your partners never see files flicker away and back.

Undoing

Your undo is yours, not everyone's
git stashgit stash -u
session kept

Your files revert as git does, then the session's work comes back. Your stash still has your copy.

reset --hardcheckout -- .git restore
session kept

A git command on one computer can't wipe the room's work. Quilt holds that folder until git settles, then puts the session's files back.

git cleanrm
shared

Deleting untracked files deletes them for everyone, as you meant. Unlike a stash, a clean is not put away.

git rmgit mv
shared

Removing or moving files is an edit like any other. Partners see the file go, or move.

In the middle of something

Git's work in progress stays on your computer
merge in progressrebase in progress
held

While git is mid-way, your folder sends nothing and queues what comes in. The top bar says git is busy.

CONFLICTstash pop clash
paused

Your folder pauses with "resolve the git conflict". Partners never see git's markers. Once you git add your fix, it is shared as it is.

index.lock
noticed

A lock left behind by a git that crashed is recognised and set aside, so it can't hold you up forever. Deleting it is still yours to do.

git won't run
paused

If git stops answering in a folder Quilt has synced with git before, that folder waits rather than guessing.

Edge cases

The ones that usually cost an afternoon
untracked files would be overwritten
one line

When a teammate commits files the session already gave you, Quilt names them and gives your AI the line that pulls. See below.

.gitignore.quiltignore
respected

Ignored files never leave your computer, nested ignore files included. .quilt/ is added to .gitignore so git clean can't take the session's state.

git initno git
just works

A folder with no git syncs the same. Start git whenever you like; nothing changes for anyone.

git worktree
just works

Each worktree is just a folder on a branch. Join a session from any of them.

Branches never mix

A session is one shared folder, and git says which branch it is on. Quilt follows what git says, computer by computer.

  1. 1
    Check out another branchThat folder pauses, so your feature branch never leaks into everyone else's main.
  2. 2
    Everyone else keeps goingPartners on main carry on live. Your top bar names the branch you're on.
  3. 3
    Come back, catch upSwitch back and your folder rejoins, merging in what the room did while you were away.
Coming soon

One live copy per branch. Each branch gets its own live session, so you can work with whoever is on feature/x while main carries on.

You check out feature/x and your folder pauses while Sam keeps editing main live. When you check out main again, Sam's changes are merged into your folder line by line.git checkout feature/xgit checkout mainmainfeature/xSam keeps editing mainyour folder · pausedBack on mainSam's 5 changes merged inyour editsSam's editsyour feature/x work, kept on your computer
⎇ feature/x · paused until you're back on maingit is busy…

Ask for a commit

Any AI in the session can ask for a commit when work is ready. Whoever commits marks it done, and the request closes for everyone.

Pull past the session's files

When a teammate commits files the session already gave you, git refuses to pull. Quilt names the files and gives your AI the one line that works, without removing them for anyone else.

$ git pull
error: untracked working tree files would be overwritten:
  src/hero.js  src/pricing.js
# Quilt: both match the commit. Pull with:
$ rm src/hero.js src/pricing.js && git pull --autostash
Fast-forward, 2 files changed

Start a session from GitHub

Pick a repository and a branch, or name a new one, and Quilt clones it once for you. From then on it's a folder like any other, and git is yours.

+

Keep git. Add everyone.

Free for everything on your own network.

Mac with Intel? Intel Mac