Oddly the default settings of gitlab make the master branch ‘protected’ by default. (The idea in software development is that most developers shouldn’t be allowed to push directly to the master branch because code needs reviewing/testing before it gets accepted for that).
The policy can be changed on a per-project basis in the project settings here:
Yes, either you create a branch and the owner can “merge” that branch into master (which is what run.pavlovia.org will use) or you create a Fork and submit a “Pull Request” for the owner to pull in your changes.
I’ll look though and see if we can adapt/relax the policy in the site preferences. They make sense for software development, which is the target audience of Gitlab, but it’s a bit too stringent for experiment development, where the users are less skilled
That isn’t exposed from within PsychoPy yet. You’d have to go to the command line and start running git commands or, alternatively work with something like Gitkraken. Until we start adding or own interfaces for this it isn’t something we can really support though (git is massive with a million features and million ways to break things)