![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://fry.gs/pictrs/image/c6832070-8625-4688-b9e5-5d519541e092.png)
It doesn’t have to be separate branches - you can generate different versions of the software from the same code branch, e.g. using compiler/build time switches for those bits of the code that differ between the different target platforms. Then you would have a build pipeline per platform; even here the build pipeline can share a lot of common code, and just be parameterized for the specific platform.
I remember The End of Eternity as being quite unlike anything else Asimov wrote, and all the better for it.