My point is, having PRs desn't result in perfect code either. They might help sometimes, maybe 10% of the time if I'm being generous, but the rest of the time they are a hindrance. The problems people tend to try and solve with them, validation and indoctrination are better solved with a good CD pipeline, and pairing sessions.
The solution to that is pairing - spending a few hours collaborating with, and teaching this person will get them up to speed much faster than asynchronously nitpicking their code.
firefox sync has worked pretty great for me, across all devices. I don't self host it, but seems like once again, they've gotten it to the point where you can.
I agree. What I'm proposing is, if you go with that option, that you use a branch as a "single instance label", pointing at commits within your main branch. Don't use them as actual branches for additional environment-specific commits.
I would recommend you avoid relying on features of GitHub, and only use features of git. You never know when you might decide to switch repo hosting providers!
With that said, you've got a number of options: you can use tags or branches as "labels" to choose what's applied to what environment, or depending on the flavor of IaC you're using, have an entry point for each environment in your code which includes and parameterizes a common "environment" module.
I've had mine for about two weeks now. Although it does have Ready For, it does not have displayport out of the USB-C port. This means you can only get the desktop experience via Miracast. When connected by cable, it can act as a peripheral (keyboard/touchpad/webcam) though.
My point is, having PRs desn't result in perfect code either. They might help sometimes, maybe 10% of the time if I'm being generous, but the rest of the time they are a hindrance. The problems people tend to try and solve with them, validation and indoctrination are better solved with a good CD pipeline, and pairing sessions.