TLDR It doesn't work. It almost does though.
The set up to get "Git" functioning with construct is a bit of a process. First we need Folder-based Projects which are only available on the stand alone exe and windows store app. Now the windows store app can't actually create folder-based projects because of Windows 10 permission level, probably should be fixed in the future update. So Stand-alone Exe it is.
Next create a Git Repo, I used Github. We used a mix of Github Desktop and Gitbash to manage merge conflicts and commits. After cloning the new repo, I saved the Construct 3 as a project folder inside the cloned repo, works great. I can make changes and commit them to Github. Git loves the .json files.
Now issues when collaborating there are many merge conflicts. So We added a .gitignore and ignored *.uistate.json As I believe these files are only used for constructs built-in Ui rendering sizing info. Also they are a single line and git hates that because git manages changes line by line. Most merge conflicts go away. Not all but fixing merge conflicts is pretty painless. But you can't see merge changes till you relaunch construct project. So we relaunched the project. Now, when you select the project.c3proj file construct yells at you because the project file is no longer valid.
Speculation: I believe the issue is that when either person on the team adds a new layout, event sheet, family etc it get tracked in the project.c3proj file and construct has no way of checking on start up if new things were added from else where like from git, and modifying the project file to reflect new files in the directory. So it says the file is invalid. For slightly more in depth info, invalid file error only appears if there is a merge conflict within the project.c3proj file.
Conclusion: Construct is great to use with git if you don't plan on using branches, or team members. As git still allows you to save versions and roll back to those with ease. But since with the above issues can't be used on a team or with branches.
It sounds like you forgot to add the new file for a new layout, committed only the update to the project file, and then tried to open the project. You have to remember to commit new files too. We have a tutorial on using SVN - different to Git but there should be a lot of similarities since source code management tends to work similarly.
Develop games in your browser. Powerful, performant & highly capable.
I'm currently working on an app to ease the versioning of C3 projects. The repo is here github.com/JeyDotC/c3-git
The basic worflow is this:
1. Save the project to a cloud service
2. Make sure it is synched to a local folder.
3. Create an empty folder and run this command: c3git init /path/to/synched/project.c3p
That will create a folder with the project contents and an appropriate gitignore.
4. Make your changes in C3 editor and wait for file syncing.
5. Call this command: c3git commit -m "your message"
That will extract the changes from the project and commit them.
6. Follow your regular git process.
7. To mount things back from folder to file, call: c3git mount
Tha will create a backup of the project file, zip the folder and replace it.
8. Wait for sync, close the project and open it again.