1. A system, comprising: a distributed data integration tool executing across a plurality of distributed development environments, wherein each of the development environments is accessible to a different set of client devices, wherein each set of client devices is configured to define one or more data integration processes, wherein a data integration process defines one or more transforms to be performed on one or more data sources and defines one or more target data stores to which the transformed data is loaded; a distributed version control system, wherein each client device is in communication with a local instance of the distributed version control system, and wherein each instance of the distributed version control system maintains one or more objects identified by a client device in the data integration process for version control, wherein the one or more objects define the one or more transforms; wherein, when the data integration process is saved, the one or more objects are serialized to a file system in one of the distributed development environments and uploaded from that distributed development environment to the local instance of the distributed version control system in communication with that distributed development environment; and wherein, when the data integration process is complete, the one or more objects stored in each instance of the distributed version control system are merged, wherein merging comprises: generating a merge table, wherein the merge table maintains metadata information for the merge operation; adding information for each of the one or more objects to the merge table; identifying one or more merge conflicts associated with the one or more objects; resolving the one or more merge conflicts; updating a status of the merge table as each merge conflict is resolved; and updating the status of the merge table after all merge conflicts are resolved.