Skip to main content

Overview

gitGost lets you contribute to any GitHub repository anonymously using standard Git commands. No accounts, tokens, or browser extensions required—just add gitGost as a remote and push.

Quick Start

1

Add gitGost as a remote

Replace username/repo with the target repository:
You can verify your remote was added with git remote -v
2

Create a branch and make changes

Your commit message becomes the PR description, so make it detailed! See our commit messages guide for best practices.
3

Push to open a PR

The PR opens instantly from @gitgost-anonymous with your commits fully anonymized.

Understanding the Remote URL

The gitGost remote URL follows this pattern:
  • Service URL: https://gitgost.leapcell.app
  • API Version: /v1
  • Provider: /gh (GitHub)
  • Target: {owner}/{repo}
Currently, only GitHub (/gh) is supported. GitLab, Bitbucket, and Codeberg support is planned.

Common Workflows

Contributing a Quick Fix

For simple one-commit fixes:

Working on Multiple Contributions

Manage multiple anonymous PRs to different repositories:

Testing Changes Locally First

Before pushing anonymously, test your changes:

What Happens During a Push

When you push to gitGost, the service:
1

Receives your commits

gitGost accepts the packfile from your Git client using the Smart HTTP protocol.
2

Strips identifying metadata

All author information, committer details, and timestamps are replaced:
3

Creates a fork

A fork is created under the @gitgost-anonymous bot account if one doesn’t exist.
4

Pushes anonymized commits

The rewritten commits are pushed to the fork on a new branch.
5

Opens a PR

A pull request is created from the fork to the original repository.
Your original commit message is preserved in the PR description, but all authorship metadata is removed from the Git history.

Push Response

After a successful push, you’ll see:

Branch Naming

By default, gitGost generates unique branch names:
For example: gitgost-1709678123 This ensures no branch name conflicts and makes each contribution independent.

Updating Your Remote

You can update the gitGost remote URL if needed:

Removing the Remote

When you’re done:

Service Limits

gitGost enforces reasonable limits to prevent abuse:

Rate Limit

5 PRs per IP per hourPrevents spam while allowing legitimate contributions.

Repository Size

≤ 500 MBThe target repository must be under 500 MB.

Commit Size

≤ 10 MB per commitIndividual commits must be under 10 MB.

Validation

Full validationAll refs and objects are validated for security.
If you exceed the rate limit, you’ll receive an error message. Wait an hour and try again, or use Tor integration to mask your IP.

Troubleshooting

Push Failed: Repository Not Found

The target repository doesn’t exist or is private:
Solution: Verify the repository exists and is public. gitGost only works with public repositories.

Push Rejected: Rate Limit Exceeded

Solution: Wait one hour, or use Tor to route through a different IP.

Authentication Required

gitGost doesn’t require authentication. If you see auth prompts, verify your remote URL:

Next Steps

Anonymous Push

Deep dive into how anonymous pushing works

Commit Messages

Write effective commit messages for anonymous PRs

Tor Integration

Hide your IP address with Tor

API Reference

Technical details of the Git protocol