A mock Git HTTP server that emulates basic Git endpoints for testing, debugging, and education.
This project does not implement real Git functionality. It only simulates Git protocol responses over HTTP.
This server is not a real Git repository host.
git clonewill NOT work in a real-world sense- Responses are faked and non-functional
- Packfiles and object storage are not implemented
If you try to use it like real Git, it will confidently lie to you.
-
Fake Git Smart HTTP endpoints
-
Minimal Git-like response structure
-
Useful for:
- Protocol testing
- Proxy debugging
- Learning Git internals (in a “what not to do” way)
Returns fake service advertisement.
Returns:
ref: refs/heads/main
Returns dummy commit hash.
Returns fake object payload.
Returns mocked upload-pack response.
node server.jsServer runs on:
http://localhost:8000
You can try to fool Git into thinking this is a real server:
git clone http://localhost:8000/user/repo.git- Git will attempt communication
- Server will respond with mock data
- Clone will likely fail, hang, or produce nonsense
- Nothing meaningful will be checked out
- Git thinks something is happening
- You briefly feel powerful
- Then reality resumes
Because sometimes you don’t want a real Git server.
You want:
- predictable responses
- controlled failures
- protocol-shaped lies
- No real repository storage
- No commit history
- No branches
- No diff
- No authentication
- No actual Git compatibility
MIT
This project does not replace Git.
It just convincingly impersonates it for short periods of time, which is honestly a skill some humans also specialize in.