You can see the ones OOTB here: https://hub.mender.io/c/update-modules
Also, you can write your own update type if you have a more custom use case: https://docs.mender.io/2.2/devices/update-modules
Does that make sense? Git and buildpack support is not yet OOTB but should be fairly simple to add with a new update module. Note however, that those type of updates may not be easy to roll back (or make atomic - meaning you can get partially installed updates and bricked devices/applications if you lose power).