Coregit
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}.git

Supported Operations

OperationAuth RequiredCommand
Clone (public)Nogit clone https://api.coregit.dev/org/repo.git
Clone (private)Yesgit clone https://org:KEY@api.coregit.dev/org/repo.git
FetchSame as clonegit fetch origin
PushAlwaysgit 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/download
  • POST /:org/:repo.git/info/lfs/verify — Upload verification
  • POST/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.

On this page