documentation
GitFork Docs.
Reference for gitfork.app.
01 · initial clone
Initial clone.
git clone https://x:demo@gitfork.app/demo/a3f91c.git Cloning into 'a3f91c'... warning: You appear to have cloned an empty repository.
HTTP Basic on every request — the username slot is ignored, the password is
what matters. The first password presented for a namespace claims it; every
later request to any repo under demo must present the same
password. The first credential claims the namespace.
demo is the namespace, a3f91c is the repo. Both
accept 1–256 chars from A–Z a–z 0–9 . _ -. Namespaces are
case-insensitive; repo case is preserved. Any fresh slug materializes on
first contact.
02 · clone from existing
Clone from existing.
git clone "https://x:demo@gitfork.app/demo/b7e2d4.git?depth=1&from=github.com/tj/commander.js" Cloning into 'commander.js'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (23/23), done. remote: Total 24 (delta 0), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (24/24), 412.84 KiB | 1.28 MiB/s, done.
?from=<url> seeds the fork from an upstream on first
clone. Scheme defaults to https://. ?depth=<N>
(1..10000) shallow-imports the last N commits — pair with
?from= for large upstreams. Both parameters apply only at
first contact and are ignored afterward.
03 · expiration and cleanup
Expiration and cleanup.
git clone "https://x:demo@gitfork.app/demo/c4d9e2.git?ttl_absolute=5m&ttl_activity=1m" Cloning into 'c4d9e2'... warning: You appear to have cloned an empty repository.
?ttl_absolute=<duration> is a hard ceiling measured from
created_at. ?ttl_activity=<duration> is an
idle timeout that resets on every Git operation. Whichever deadline arrives
first evicts the repo; activity cannot extend past the absolute ceiling.
Durations accept suffixes s m h d w, bare integer = seconds,
max 10 years. Both are first-contact only.
git fetch fatal: unable to access 'https://gitfork.app/demo/c4d9e2.git/': The requested URL returned error: 410
An expired repo returns 410 Gone with
X-GitFork-Expired-Reason: absolute_ttl or
activity_ttl. A repo with no TTL persists until deleted.
04 · git
Git.
cd a3f91c echo "hello" > README.md git add -A && git commit -m "init" [main (root-commit) 8f2a0c1] init 1 file changed, 1 insertion(+) create mode 100644 README.md git push origin main To https://gitfork.app/demo/a3f91c.git * [new branch] main -> main
Everything else is plain Git. All other commands work as expected.