My usual workflow for working on forks looks like this: Clone the original repo, add my own fork as second remote. Fetch all changes from original repo, create a new branch, and push this branch to my own fork. The pushing is where the default sucks. Git will by default push to origin which is the original repo without push rights.
I'll explain two solutions I've used so far to ease this little issue with Git.
I've read different tips & tricks from developers. I've also read different workflows like "git flow". And I've worked with some freelancers and agencies on a dozen of projects.
This post will share my current git workflow that works for all of our clients in all the projects. This includes switching projects and knowing where to continue once you come back. And this also ensures the rest of the team can continue with your work in case you become ill.
Some years ago we got a new customer with a lot of similar TYPO3 installations. All had their own Git repository. We decided to migrate this setup to composer and split the existing TYPO3 extensions out of the repositories, into their own. This year we noticed that was a bad idea, and we will migrate all installation into a single Git repository, together with all extensions.
I'll try to explain the initial idea, why we think this was a bad idea, and how we create the new mono repository.