There are many ways you can contribute to Skyfield.
- Contributing documentation in the form of python doc, and documents like this.
- Using Skyfield; reporting bugs and patches into the issue tracker.
- Following up on current Issues by posting comments in the issue tracker and/or submitting pull requests.
Because we are using Github the process for contributing is as follows:
- We acquire a github account.
- We fork Brandon/Skyfield's repo.
- We git clone our Fork to a local working copy on our own machine.
- git clone https://github.com/<YOUR ID HERE>/python-skyfield
- We create development branches in our own working copy.
- git checkout -b Issue31
- We code by adding/modifying/deleting documentation or code
- We commit
- git commit -m "#31 Fix involved: blah blah blah"
- We push our fix branches to our Forked repo.
- git push origin Issue31
- On Github we submit a pull request from this forked branch into Brandon/Skyfield's main repo.
You can experiment with what works for you from a git perspective. The following is just some examples of what a developer can do.
- Created a Fork in my own github space.
- Cloned my Forks master branch.
- git clone [email protected]:ozialien/python-skyfield.git
- Add skyfield reference to my local git repo.
- git remote add skyfield [email protected]:skyfielders/python-skyfield.git
- git fetch skyfield
- git branch -r <-- Shows me what remote repo's I have fetched references from
- Make sure my master is up to date with the main repo.
- git checkout master
- git rebase skyfield/master
- Fork a development branch
- git checkout -b fix42
- Commit the change
- git commit -m "#42 I fixed by ....."
- Push the development branch to GitHub
- git push origin fix42
- Login to GitHub and issue a Pull request for my fix42 branch
From this point you can actually keep fetching from skyfield repo as follows:
- Make sure things are up to date
- git checkout master
- git rebase skyfield/master
- create a new development branch
- git checkout -b issue43
You could even do this:
- git fetch skyfield
- git checkout -b issue43 skyfield/master