GeoGit is an open source tool that draws inspiration from Git, but adapts its core concepts to handle distributed versioning of geospatial data.

Track GeoSpatial Data Edits

Users are able to import raw geospatial data (currently from Shapefiles, PostGIS or SpatiaLite) in to a repository where every change to the data is tracked. These changes can be viewed in a history, reverted to older versions, branched in to sandboxed areas, merged back in, and pushed to remote repositories.

GeoGit is written in Java, and available under the BSD License.

0.10 Release .zip

We are firmly in 'alpha' mode, working to release early and often, so please join us. Testing, documentation, ideas and patches are all greatly appreciated. Don't hesitate to get in touch with any issues, feedback or encouragement.

Quick Start

1. Download Version 0.10.0 from SourceForge.
(Or if you have homebrew, run 'brew install geogit' and skip to 3.)

2. Unzip the to an applications directory, and then add the unzipped geogit/bin/ folder to your PATH.

3. Import your spatial data to get started:


~$ geogit help

List geogit commands

~/new-folder $ geogit init

Initialise a geogit repository in new-folder

~/new-folder $ geogit shp import your_shapefile

Import a .shp file (or try OSM, SpatialLite or PostGIS)

~/new-folder $ geogit ls

What's in your geogit repository

~/new-folder $ geogit status

What you can commit to a snapshot

See more GeoGit instructions in our GeoGit Tutorial or try the GeoGit Workshop.

4. Additional information on how GeoGit works is available at the full User Manual.


GeoGit documentation is available online:

The User Manual can also be downloaded with the geogit install here.

For background reading see these papers on the spatial distributed versioning Concept, Implementation and Potential Development.

geogit workflow overview


The project is hosted on github:

Discussion takes place on our GeoGit Google Group. Please join and introduce yourself, we'd love to help, and to figure out ways for you to get involved.

There is also a GeoGit IRC channel on freenode (#geogit). GeoGit developers can usually be found there.

Participation is encouraged using the github fork and pull request workflow:

  • Include test case demonstrating functionality
  • Contributions are expected to pass all tests and not break the build
  • Include proper license headers on your contributed files

Issues to help out on are at our issue tracker.

For those who can't code help on documentation is always appreciated, all docs can be found at and contributed to by editing in ReStructuredText and using standard GitHub workflows.

Our build is actively monitored using Hudson.