Any contributions to the core Astropy package, whether bug fixes, improvements to the documentation, or new functionality, can be done via pull requests on GitHub. The workflow for this is described below.
However, substantial contributions, such as whole new sub-packages, can first be developed as affiliated packages then submitted to the Astropy core via pull requests once ready (as described in Vision for a Common Astronomy Python Package). Teams working on affiliated packages are free to choose whatever version control system they wish, but ultimately the affiliated package should be merged into a fork of the Astropy repository in order to be submitted as a pull request (this merging can be done either by the team or by one of the core maintainers).
The only absolutely necessary configuration step is identifying yourself and your contact info:
git config --global user.name "Your Name" git config --global user.email email@example.com
The following sections cover the installation of the git software, the basic configuration, and links to resources to learn more about using git. However, you can also directly go to the GitHub help pages which offer a great introduction to git and GitHub.
The following two sections describe the workflow for the Astropy core package, but teams working on affiliated packages that have chosen to use git are encouraged to also follow these guidelines internally.
If for any reason developers do not wish to or cannot contribute via pull requests, they can submit a patch as described in Creating patches.