Browse

Git backend

Git backend

The Git family is currently implemented as backend-git-ssh. Everlock includes its own Git implementation rather than shelling out to the host git binary — the transport layer handles SSH authentication and routing, and the backend handles repository protocol and pack storage in-process.

What it does

  • serves Git over SSH using the standard smart protocol (clone, fetch, push)
  • stores incoming packs as compressed bundle files, preserving delta encoding
  • applies ref updates atomically after each push
  • enforces access grants per repository and per user
  • smart HTTP Git is planned but not yet shipped

How it fits in the system

The Git backend is not isolated. Site stores are pushed through Git — a git push is how content reaches backend-site-http. System configuration is itself versioned. Git is the update path for all human-authored content.

Quick start

Enable the backends, create a repository, clone and push:

/backends enable git-ssh
/git repo create my-project
git clone ssh://admin@localhost:2222/my-project
cd my-project
git add .
git commit -m "initial"
git push

Sub-pages

Read next