Understand check out and check in¶
GitM uses pessimistic locking — the traditional PDM model. Only one person can edit a given CAD file at a time, and that person must explicitly check it out first.
Why files are read-only¶
SolidWorks files are binary. Two people cannot edit the same .sldprt and have their work
merged — one would overwrite the other. To stop that collision before it happens, GitM
marks every SolidWorks file as lockable in the repository's .gitattributes. The
practical effect: the file is read-only on disk until you hold its lock. SolidWorks
physically refuses to save over a file you have not checked out.
The edit loop¶
- Browse. You open a file. It is read-only. If you try to edit without checking out, SolidWorks won't let you save.
- Check Out. You acquire the lock. GitM clears the read-only bit and records the lock on the server so teammates see the file as Locked by Me (for you) or Locked by Other (for them).
- Edit and save normally in SolidWorks.
- Check In. GitM saves your change, publishes it to GitHub, and releases the lock — all as one action. The file goes back to read-only.
For a mid-task checkpoint without publishing or releasing the lock, use Save Local Version (see Versions and snapshots).
What the Git verbs are underneath¶
You never need these, but for the curious:
| What you click | What runs underneath |
|---|---|
| Check Out | git lfs lock + clear the read-only attribute |
| Check In | git add + git commit + git push + git lfs unlock |
| Save Local Version | git add + git commit (local only; keeps the lock) |
| Get Latest | git pull |
You do not need the Git command line for the everyday workflow. Advanced Git operations (rebase, cherry-pick, history rewriting) are deliberately not exposed and remain CLI-only.
Locks are visible to the whole team¶
A lock is a server-side record, not just a local flag. When you check a file out, everyone else immediately sees it as locked by you. This is how the team avoids stepping on each other. If someone is unreachable and holding a lock, an admin can force-unlock — see Manage locks and roles.
Known limitations¶
- No optimistic / multi-editor mode. There is no "let two people edit and merge later" option for CAD files, by design.
- Locks require the server. Acquiring or releasing a lock talks to GitHub LFS. On a poor connection, check out / check in can be slow. GitM does not fake a lock offline.
- A crash mid-edit leaves the lock held. If SolidWorks or your machine dies while a file is checked out, the lock stays until you check in, release it, or an admin force-unlocks.