Version control for KiCad projects
KiCad 6+ files are plain text, so git works. Here is a setup that stays clean, where git falls short for hardware review, and how BoardRepo fits in.
Commit these
The project file (.kicad_pro), schematics (.kicad_sch), the board (.kicad_pcb), project-local symbol and footprint libraries, sym-lib-table and fp-lib-table, and any 3D models the board references. That set reopens identically on another machine.
Usually ignore these
# Locks and rebuildable local cache fp-info-cache ~*.lck
Keep KiCad autosaves and backup copies by default: they can contain recovery work that is missing from the main files. BoardRepo for KiCad honors the project's .gitignore, so an ignored file will not reach Git or BoardRepo. Keep Gerbers, fabrication outputs, and backup ZIPs too unless your team deliberately decides those exact files are disposable.
Where git falls short for hardware
A text diff records coordinates, identifiers and reordered blocks alongside electrical changes. Read it for provenance, then inspect the schematic and PCB to understand the effect. Your team can export previews manually, generate them in CI with a tool such as KiBot, or use a hardware review service. Git remains useful for branches and merge decisions; coordinate simultaneous CAD edits rather than trusting a clean text merge.
What BoardRepo adds
BoardRepo keeps a linear version history per project. Each successfully published version has its own file manifest and retrievable retained files. An unchanged plugin Push or ordinary tracked GitHub update does not create a new version. Supported KiCad designs receive the schematic, PCB, BOM and fabrication outputs that processing successfully generates. Confirm readiness before treating a missing preview as evidence about the design.
BoardRepo is a shared workspace for project source, saved revisions and design review. Use Git alongside it when your team needs source branches, pull requests or repository automation. Published versions can be compared visually when the pair meets the format and render requirements, with the changed parts, routing and outline highlighted on the schematic and PCB and listed by name. With the GitHub App installed and Keep up to date enabled, changes to the default branch can update the imported board. This tracking is from GitHub to BoardRepo; an assistant or plugin save is not automatically committed back to GitHub.
Choose a handoff point
Before an assistant or teammate edits, save a baseline. Inspect the changed version against it and open the source in KiCad to check the design. The KiCad plugin can Push changed files and Pull the current remote version; an unchanged Push creates no new version. Download a selected older revision from history when you need that exact source. Commit continued local work to Git through your usual workflow.
Upload a board or read BoardRepo vs GitHub for KiCad. The tool-agnostic version of this page is version control for PCB designs.
Continue your work
Save your source and inspect its published revisions. Continue editing in your source design tool.
For KiCad projects, BoardRepo for KiCad lets you Push and Pull versions from the editor. Team workspaces bring shared source and board access together.