Skip to content

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

  1. Browse. You open a file. It is read-only. If you try to edit without checking out, SolidWorks won't let you save.
  2. 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).
  3. Edit and save normally in SolidWorks.
  4. 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.