Git Protocol
Git Smart HTTP
Use standard Git commands with Coregit repositories.
Overview
Coregit implements the Git Smart HTTP protocol, so you can use any standard Git client to clone, fetch, and push.
Repository URL Format
https://{org-slug}:{api-key}@api.coregit.dev/{org-slug}/{repo-slug}.gitSupported Operations
| Operation | Auth Required | Command |
|---|---|---|
| Clone (public) | No | git clone https://api.coregit.dev/org/repo.git |
| Clone (private) | Yes | git clone https://org:KEY@api.coregit.dev/org/repo.git |
| Fetch | Same as clone | git fetch origin |
| Push | Always | git push origin main |
Endpoints
The Git protocol uses two endpoints under the hood:
GET /:org/:repo.git/info/refs?service=git-upload-pack— Ref advertisement (clone/fetch)POST /:org/:repo.git/git-upload-pack— Pack data transfer (clone/fetch)GET /:org/:repo.git/info/refs?service=git-receive-pack— Ref advertisement (push)POST /:org/:repo.git/git-receive-pack— Pack data transfer (push)
Git LFS
Coregit supports Git LFS for large file storage. LFS endpoints:
POST /:org/:repo.git/info/lfs/objects/batch— Batch upload/downloadPOST /:org/:repo.git/info/lfs/verify— Upload verificationPOST/GET /:org/:repo.git/info/lfs/locks— File locking
Files are stored in object storage via presigned URLs — the server never proxies file data. See the LFS guide for setup and usage.