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

Git-powered FTP client. Version 1.6.0 via Homebrew; verified from local package data.

## 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/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-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
- **Package manager page:** <https://formulae.brew.sh/formula/git-ftp>
- **Version:** 1.6.0
- **Source summary:** Git-powered FTP client
- **Homepage:** <https://git-ftp.github.io/>
- **Repository:** <https://github.com/git-ftp/git-ftp>
- **Upstream docs:** <https://git-ftp.github.io/>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://github.com/git-ftp/git-ftp/archive/refs/tags/1.6.0.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- git-ftp (cli)
- git-ftp (alias)

## Dependencies

- curl
- libssh2

## Build dependencies

- pandoc

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.6.0
- Local data: ok
- Upstream repository: https://github.com/git-ftp/git-ftp
- Upstream latest detected: 1.6.0 (current)
- info: No package-manager update timestamp was available.
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** git-ftp
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 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-16.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/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-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


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [curl](https://www.automicvault.com/pkg/brew/curl/) - Runtime dependency declared by Homebrew.
- [pandoc](https://www.automicvault.com/pkg/brew/pandoc/) - Build dependency declared by Homebrew.
- [aicommit](https://www.automicvault.com/pkg/brew/aicommit/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [aicommit2](https://www.automicvault.com/pkg/brew/aicommit2/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [aicommits](https://www.automicvault.com/pkg/brew/aicommits/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [braid](https://www.automicvault.com/pkg/brew/braid/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [cig](https://www.automicvault.com/pkg/brew/cig/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [codeberg-cli](https://www.automicvault.com/pkg/brew/codeberg-cli/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [commitizen](https://www.automicvault.com/pkg/brew/commitizen/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [commitlint](https://www.automicvault.com/pkg/brew/commitlint/) - Shares av.db curated category or tags: cli, developer-tools, git, version-control.
- [git-series](https://www.automicvault.com/pkg/brew/git-series/) - Package names and metadata indicate a similar tool family. Shared terms: cli, control, developer, developer-tools, git.
- [git-workspace](https://www.automicvault.com/pkg/brew/git-workspace/) - Package names and metadata indicate a similar tool family. Shared terms: cli, control, developer, developer-tools, git.
- [git-raw-commits](https://www.automicvault.com/pkg/npm/git-raw-commits/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, control, developer, developer-tools.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
