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.