Ohhh… I hardly imagine how I would do it with GitHub storage. Perhaps some fancy GitHub actions to register blocks with the required branch name on push?
My team uses azure storage (s3 but different), so defining those blocks is mostly a one-off job that requires a storage key secret and is OK to do manually.
We do juggle some container images though, and I have just started porting those to be defined as code and run and updated in a sane way. So our repo with flows now has a “blocks” folder split into dev and prod. Because blocks are the one thing we do want to differ between environments - for instance using tagged images on prod but latest in dev.