Skip to content

Repository files navigation

gitget

gitget

Browse any GitHub repo and download only the files you need.

No more downloading 100 MB zips for a single config file.


React 19ViteTypeScriptTailwind CSSLicense


Contents


Features

🔍 BrowseExplore any public GitHub repo's file tree in your browser
SelectPick individual files or whole directories with checkboxes
📦 DownloadGet a clean .zip containing only what you selected
🔁 CompareDiff files between two repos at /compare with LCS-based line diff and context hunks
🔎 File searchFilter files by name in both Browse and Compare views
🌿 Branch supportSpecify any branch, tag, or commit; compare across branches
🔒 Token supportAdd a GitHub token for private repos and higher rate limits
🎨 Syntax highlightingDiff output with language-aware keyword, string, and comment coloring
📋 Export patchesDownload diffs as .patch files
Lazy loadingDirectories load on demand — no waiting for the entire tree
🌙 Dark modeRespects your system color scheme

Quick start

# Install dependencies
npm install
# Start the dev server
npm run dev

Open http://localhost:5173 and paste a GitHub repo URL. That's it.

Requirements: Node.js 18+ and npm.


Usage

Routes

PageRouteDescription
Browse/Explore repos, select files, download as .zip
Compare/compareDiff files between two repos side by side

Input examples

InputWhat happens
facebook/reactOpens react's default branch
https://github.com/vitejs/viteFull URL also works
tailwindlabs/tailwindcssOpens tailwind's default branch
facebook/react + branch devOpens react's dev branch
facebook/react (A) vs facebook/react branch dev (B)Cross-branch diff in Compare

How it works

Browse

  1. URL parsing — Accepts owner/repo shorthand or full https://github.com/... URLs; branch is auto-detected from tree/branch paths.
  2. Branch selection — A dedicated branch input lets you switch to any branch, tag, or commit.
  3. GitHub Contents API — Lists repo contents lazily (one directory at a time) with ?ref= support.
  4. File search — Filter the tree by filename in real time.
  5. File selection — Check files individually or use directory checkboxes for batch select.
  6. Client-side bundling — Selected files are fetched, zipped in-browser with JSZip, and downloaded — no server needed.

Compare

  1. Dual repo input — Paste any owner/repo or full GitHub URL into either panel, each with its own branch selector.
  2. Smart file matching — Files present in both repos show a both badge; expanding a directory on one side auto-loads it on the other.
  3. LCS line diff — Uses a Longest Common Subsequence algorithm to compute additions, deletions, and unchanged lines.
  4. Context view — Shows 3 lines of context around changes with @@ hunk headers, just like git diff.
  5. Live stats — Per-file +additions-deletions and unchanged counts in the diff header.
  6. Syntax highlighting — Diff code is highlighted by language (keywords, strings, comments, numbers).
  7. Export .patch — Download any diff as a standard unified-format .patch file.

Token & rate limits

  1. By default, the GitHub API limits unauthenticated requests to 60/hour.
  2. Click the gear icon in the nav bar to open Settings.
  3. Paste a GitHub personal access token — no scopes needed for public repos; repo scope for private.
  4. The token is stored in localStorage and sent with every API call — no server involved.

Tech stack

LayerTechnology
FrameworkReact 19
RoutingReact Router 7
Build toolVite 8
LanguageTypeScript 6
StylingTailwind CSS 4
BundlingJSZip
APIGitHub REST API v3 with ?ref= support
AuthToken via localStorage + Authorization: Bearer header
DiffLCS-based line diff (DP + backtrack) with 3-line context hunks
HighlightingRegex-based syntax highlighting (TS / JS / Python / Rust / Go / Shell + more)

License

MIT — see LICENSE for details.

About

Browse a GitHub repo and compare/download only the files you need.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages