Skip to content

Git

Git is git inside a Tefily project: repositories, browse, branches, tags, commits, and merge-request review.

HTTPS (Smart HTTP, not under /api):

https://api.tefily.com/git/{projectId}/{repoSlug}

SSH (when enabled on the platform):

git@git.tefily.com:{projectId}/{repoSlug}.git

Add account SSH keys in console Settings (POST /api/auth/ssh-keys with { "title", "publicKey" }). A user can store 20 SSH keys. Deploy keys can be attached per repository for CI, up to 20 per repository.

Create an MR from a branch, review diffs, comment (including suggestions), submit reviews, merge / close / reopen. Conflict check is a dedicated endpoint. Review states are approved, changes_requested, and commented. Apply a suggestion with POST .../merge-requests/:mrId/comments/:commentId/apply-suggestion.

POST /api/projects/:projectId/git/repos/:repoId/merge-requests/:mrId/reviews
{ "state": "approved", "body": "LGTM" }

Link a repo to Hosting so auto / auto_branch deploys on push or merged MR.

Commit .kataflax/ci.yaml and register a machine on the repository Runners tab to test, build, and publish from that repo. See CI runner.

Open the repository Settings.

PUT /api/projects/:projectId/git/repos/:repoId/protections
{ "branch": "main", "requiredApprovals": 1 }

GET lists them. DELETE uses the same path with query parameter branch. Deleting a protected branch returns 403 unless the caller bypasses protection. Merge is refused until approving reviews reach requiredApprovals.

Open workspace opens the editor. Saves go to PUT .../git/repos/:repoId/workspaces/file. The branch ref is lastare/<name>/<userId>/<id>.

Limit Free Pro Scale
Repositories per organization plan limit plan limit plan limit
Largest single push 100 MB 1 GB 2 GB
Repository storage included allowance, then billed
  • A push over the size limit, or from a project whose repository storage is far over its allowance, is rejected before any ref moves (HTTPS and SSH). The client prints Push rejected: … with the limit. Delete branches or run a gc, then push again.
  • Storage is measured on the server (sizes are cached and refreshed after pushes, editor writes, and hourly). Git LFS is not supported.
  • A suspended billing account gets 402 payment_required on pushes, repository creation, and editor writes.
  • Editor workspaces: up to 20 per user per repository (delete one to create another) and 5 MiB per saved file. Over-limit saves return 413 payload_too_large; the buffer stays unsaved.
  • Clone and fetch traffic is recorded as git_egress_mb for usage reporting; it is not limited.

Plan fees and included quotas: Pricing.

list_git_repos, create_git_repo, get_git_tree, get_git_blob, list_merge_requests, … Prompt: navigate_git_repository.

REST lives under /api/projects/:projectId/git/... with a platform JWT or PAT. See API reference.