Understanding and using the "Fork & Pull" model is essential for distributed software development, IMHO.
In its simplest form (there are many approaches):
- Fork from a repo in your git forge of choice (I use Forgejo)
- Git clone thatforsk to your local machine
- Work on something and commit your changes
- Push your changes to the forge
- Use the forge to create a pull request that you send upstream
- Hope for a merge, be ready to make changes
Rinse and repeat.