The same client, the same commands, and the same encrypted files, in two arrangements.
Serverless
With the server (phase 3)
Where your client connects
Straight to the git repository
To the server, which fronts the same repository
Infrastructure to run
None
One small container
Encryption
Identical, on your machine, in both cases
Identical, on your machine, in both cases
Record of who read what
None. Nobody is in the loop to observe it
Full, in an append-only log
Two people writing at once
Git rejects the loser, who retries
Server rejects the loser, who retries
Automatic credential rotation
Not available
Available
If it is down
Git host outage: use your local clone
Fall back to serverless mode and keep working
Because both modes share one on-disk format, adopting the server is a one-line config change, and dropping it later is the same change in reverse. No re-encryption, no export, no migration.