1. A method comprising: executing, by a processing device of a computing machine, a source code management tool executed from a distributable self-contained repository of the computing machine; developing, by the source code management tool, each virtual machine (VMS of a plurality of VMs built by a virtualization tool stored in the distributable self-contained repository, wherein each VM is developed independently of each other to comprise customizations and modifications specific to the VM, wherein the customizations and the modifications to each VM update a base image of the VM; and merging, by the source code management tool, the developments specific to each VM back to a parent VM of the plurality of VMs.