The only way I found to work was as follows:
Imagine that John and Peter are working on a GIT based versioning system.
The master project should contain even the blank layout and its respective script sheet that John will work on. It should be the same for Peter.
It is also necessary to be already created the objects that each one will use.
So each one creates a branch of the master project for themselves. I work your layout and make your code I your files.
In the end you can mix the projects with the master project.
A conflict will occur in the [project.uistate.json] file, but it's not a big deal.
It does not seem viable but it is a form I found.