Basically you put your work in a separate branch (so it can be compared with the master code), you upload that branch somewhere (github or any other), and, when you are ready, you post the link to that branch here in the "pull requests" section of the forum. Someone (Jürgen, Werner or me) will review it. If you do something small, that is easy to review, and that clearly benefits freecad, for example you fix a bug, it will be easy for us to review and we'll probably be able to merge it quickly.
If you do something bigger, and especially if you are going to modify some existing functionality, causing current users to need to change their behaviour, then it is safer to discuss your work before submitting a feature request, and let other people test your code. If people like what you have done, then there will be no problems merging it.