I am using Git as source control with UE4 and my teammates are using different versions of Unreal. Will it cause problems for them ? I know that Unreal will ask to open a copy of the project if it is from an earlier version.
Yes, you can use difference versions of the engine, provided they are similar enough that your collaborative project can run correctly.
In our case, we run two different two versions of the engine based on UE4.18.2.
One is compiled as a binary, the other is not.
The binary version is for anyone who doesn’t need to modify the engine uses the binary version.
The non-binary version is for those that do.
Working on the same project with different engine versions is an extremely bad idea even if it seems to be working. Don’t do that!
If by versions you mean two different builds with serialization compatibility then there should be no issues. If you mean incompatible versions like say 4.16 and 4.19 then it is not a very good idea as older engine versions cannot load newer version assets and newer engine versions cannot save in older formats.
tl;dr: multiple builds can be used as long as their data format versions are mutually compatible.