In the last 5 years, I've only used Git or Hg when contributing to projects that already used one of those. And only for small things I could do quickly. so, basically, clone from the project's main repo, make my change/fix, update, merge then submit a patch or pull request. (Then usually update, make requested "tweaks", update/merge and re-submit. Repeat until accepted, rejected or I decide enough is enough.)
I've not tried git push/pull between my PCs since 2009, so, there's been time for that to improve. (Have never tried with Hg.)