One portable bundle
Commits, staged and unstaged changes, and untracked files in a single file.
v0.4.2 · Open-source Git CLI · Local MCP server · MIT
Pack commits, staged edits, unstaged work and untracked files into one portable bundle. Carry it to another machine, inspect it, and apply it, with your working state preserved. Use the CLI or connect your local MCP client.
$ npm install -g gitferry@0.4.2$ gitferry pack --only uncommitted \$ -o transfer.gitferry
USB · file transfer · email · QR
$ gitferry inspect transfer.gitferry$ gitferry apply transfer.gitferry --dry-run$ gitferry apply transfer.gitferry
Developers sometimes work across machines that cannot share a Git remote or network connection. Commits alone don't capture unfinished work: staged changes, unstaged edits, untracked files and binary assets still need to travel.
GitFerry combines the changes you select into one .gitferry file you can carry across.
Combine the changes you choose into a single .gitferry file.
gitferry pack --only uncommitted -o transfer.gitferryMove the file by USB, secure file transfer or email. Patch-sized bundles can also cross as screen-to-camera QR codes.
Validate the bundle, preview the result, then apply it.
gitferry inspect transfer.gitferry
gitferry apply transfer.gitferry --dry-run
gitferry apply transfer.gitferryCommits, staged and unstaged changes, and untracked files in a single file.
The distinction between staged and unstaged changes survives the trip.
Transfer binary changes alongside your source files.
Checksum validation, repository checks and dry-run previews.
Transfer all changes, selected categories or tracked-file snapshots.
Move patch-sized bundles between a screen and a webcam.
Standalone CLI and MCP files include their JavaScript dependencies.
Agents can pack, inspect and apply through three tools.
Public source code under the MIT license.
npm install -g gitferry@0.4.2Installs the gitferry command globally.
| Tool | Purpose |
|---|---|
| pack_changes | Create a bundle from a local repository |
| inspect_bundle | Verify checksums and report bundle contents |
| apply_bundle | Preview or apply a bundle to a local target |
The server runs locally over stdio. The registry entry helps clients find it; it isn't a hosted endpoint.
Standalone CLI and MCP files include their JavaScript dependencies, so you can carry GitFerry itself across the gap. Requires Node.js 22+ and Git 2.32+. And if the receiving machine has only Git and unzip, the plain-git fallback lets you apply a bundle by hand.
Standard change bundles require shared repository history. Snapshots can seed an empty directory.
No. Checksums detect corruption, not sender identity. Only apply bundles from a source you trust.
No, applying changes is not transactional. Run inspect and apply --dry-run first so you can see what will happen.
QR transfer is intended for patch-sized bundles. Use a file channel like USB for anything larger.
No. GitFerry's MCP server runs locally over stdio. The MCP Registry entry is discovery metadata, not a hosted endpoint.
Node.js 22+ and Git 2.32+, on Linux, macOS or Windows.
npm install -g gitferry@0.4.2