# Install git-ftp with Homebrew, apt, dnf, MacPorts, Nix

Git-powered FTP client. Version 1.6.0 via Homebrew; verified from local package data. Also installable with debian: sudo apt install git-ftp.

## Install

```sh
sudo av install brew:git-ftp
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install git-ftp
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install git-ftp
```

  Evidence: MacPorts ports tree: devel/git-ftp/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install git-ftp
```

  Evidence: Debian stable package indexes: git-ftp from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install git-ftp
```

  Evidence: Fedora Rawhide package metadata: git-ftp from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#git-ftp
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gi/git-ftp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:git-ftp
- **Package manager:** Homebrew
- **Version:** 1.6.0
- **Source summary:** Git-powered FTP client
- **Homepage:** <https://git-ftp.github.io/>
- **Repository:** <https://github.com/git-ftp/git-ftp>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- git-ftp (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.6.0
## Project history and usage

git-ftp is a Git-oriented deployment utility for FTP and related protocols. Its core idea is to record the deployed Git commit on the server, then use Git history to upload only files that changed since that commit.

### Project history

The project grew around a common shared-hosting problem: teams had Git locally but only FTP, FTPS, SFTP, or lftp-style access on the deployment target. The README describes the tool as uploading to FTP servers 'the Git way', while the changelog records a long stabilization path through 1.0.0, submodule handling, include and ignore rules, hooks, FTPES/SFTP fixes, and compatibility work for newer Git versions.

A 0.8-era changelog entry records the move to the git-ftp GitHub organization. Later releases added push hooks, snapshot and pull/download actions, BusyBox fixes, PEM/key options, and better error handling, keeping the tool as a shell-based bridge between Git workflows and older hosting environments.

### Adoption history

git-ftp became the most visible project in this batch because it solved a deployment niche that Git itself does not cover. Its packaging in Homebrew and other Unix package collections reflects use by developers who need repeatable deployments without rsync, SSH shell access, or a platform-specific deployment service.

### How it is used

Practitioners configure FTP URL, user, and password in Git config, run `git ftp init` for a first upload or `git ftp catchup` when files already exist remotely, and then deploy later commits with `git ftp push`. The ignore and include files let projects tune which tracked or untracked paths are sent.

### Why package nerds care

git-ftp is package-manager interesting because it packages an old-web deployment pattern as a Git subcommand-style CLI. It sits at the edge between version-control tooling and hosting compatibility, where a small shell utility can replace heavier deployment systems for simple sites.

### Timeline

- 2013: Repository created under the git-ftp organization on GitHub.
- 2016: 1.3.0 added push hooks, snapshot support, and file-list performance work.
- 2018: 1.5.0 addressed Git 2.16 compatibility and SFTP documentation.
- 2020: 1.6.0 release line focused on error handling and nested branch support.

### Related projects

- git-ftp is related to Git deployment hooks, rsync-based deploy scripts, lftp workflows, and hosted CI actions that publish artifacts to FTP targets.

### Sources

- <https://formulae.brew.sh/formula/git-ftp>
- <https://github.com/git-ftp/git-ftp>
- <https://github.com/git-ftp/git-ftp/blob/master/CHANGELOG.md>
- <https://github.com/git-ftp/git-ftp/blob/master/README.md>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .git/config, .git-ftp-ignore, .git-ftp-include

## Credential files

- Unix: .git/config
## Other Package-Manager Records

- Debian apt - git-ftp - 1.6.0+dfsg-1: normalized package name match | Debian stable package indexes: git-ftp from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Git powered FTP client written as shell script | https://github.com/git-ftp/git-ftp
- Nix - git-ftp: normalized package name match | nixpkgs package indexes: pkgs/by-name/gi/git-ftp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - git-ftp - 1.6.0+dfsg-1: normalized package name match | Ubuntu 24.04 LTS package indexes: git-ftp from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Git powered FTP client written as shell script | https://github.com/git-ftp/git-ftp
- dnf - git-ftp - 1.6.0-18.fc45: normalized package name match | Fedora Rawhide package metadata: git-ftp from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Git powered FTP client written as shell script | https://github.com/git-ftp
- MacPorts - git-ftp: normalized package name match | MacPorts ports tree: devel/git-ftp/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/git-ftp.yml](https://github.com/mxcl/pkgdb/blob/main/combined/git-ftp.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
