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.
URL shape — /<namespace>/<repo>.git.
namespace- 1–256 chars from
A–Z a–z 0–9 . _ -. Case-insensitive. First credential to hit it seals it. repo- Same charset as namespace. Case 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.
Both parameters apply only on first contact and are ignored afterward.
?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.
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.
Both are first-contact only. Whichever deadline arrives first evicts the repo; activity cannot extend past the absolute ceiling.
?ttl_absolute=<duration>- Hard ceiling measured from
created_at. ?ttl_activity=<duration>- Idle timeout. Resets on every Git operation.
<duration>- Suffixes
s m h d w. Bare integer = seconds. Max 10 years.
git fetch fatal: unable to access 'https://gitfork.app/demo/c4d9e2.git/': The requested URL returned error: 410
An expired repo returns 410 Gone. A repo with no TTL persists until deleted.
X-GitFork-Expired-Reasonabsolute_ttloractivity_ttl.
04 · git
Plain 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.