Working with Git
Here are some tips for developing GeoNetwork with Git. This is not a guide to Git or to version control in general.
Github is the hosting platform for GeoNetwork and lots of information can be found on their website: https://help.github.com/
Getting the source
If you're starting from scratch and just want to get the latest version of the trunk, make yourself a working directory and change into it. Then download the sources from GitHub:
https://github.com/geonetwork/core-geonetwork/zipball/master
Alternatively, if you are comfortable using Git you can clone it locally with the command:
git clone --recursive git://github.com/geonetwork/core-geonetwork.git
or with one of the many Git Gui applications
- Github app for Mac: http://mac.github.com
- Github app for Windows: http://windows.github.com/
- TortoiseGit (Windows): http://code.google.com/p/tortoisegit/
- Git tower (Mac): http://www.git-tower.com/
- SmartGit (Mac, Linux, Windows): http://www.syntevo.com/smartgit/index.html
Commandline, SmartGit, TortoiseGit or Git tower are recommended for those who want to develop because they handle Submodules.
Note: Alternatively, you may use the following repository URL if you encounter firewall issues with the git protocol.
https://github.com/geonetwork/core-geonetwork.git
Go to HowToCompile.
Forking GeoNetwork (the preferred git way)
Serious developers, particularly those working in a team, who want to make non-trivial contributions to GeoNetwork will want to fork GeoNetwork on github. See the github instructions: https://help.github.com/. There are good guides on setting up Git as well as how to fork repositories (like GeoNetwork) and how to make pull requests.
This will enable you to do checkouts, diffs, etc., very cheaply.