Version control

Does anyone have experience / best practices regarding version controlling services, interfaces, …
Especially when using the Business Integrator and developing with multiple developers, it’s hard to maintain an good overview of versions for all the different services.