here a super quick step-by-step procedure on how I work:
* fork the main repo
* clone the forked repo on your pc so you have a local copy
* set up an **upstream** remote branch so you have a link from your
local repository to the main GH one (not the fork)
git remote add upstream g...@github.com:qgis/QGIS.git
* work on the code (better on another local branch)
git checkout -b your_branch
* add the file, commit them and push them to the FORKED repo
git add .
git commit -m "your message"
git push origin your_branch
* check the commit and your_branch on GH
* if you are ok with the commit propose a pull request from your_branch
of the fork to the main master (or whatever) branch of the source repository
Actually you can find all the information (even if they are for the
manual repository) on the QGIS Website:
Hope this helps!
Qgis-user mailing list
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user