Git with KiCad - Version control for PCB design workflows

Learn why KiCad’s open-source text files are the perfect complement to Git and how to use version control as the ultimate safety net for your hardware layouts.

George Neguceanu
01 Jul 2026
Updated on
01 Jul 2026
9
min read
Content

If you’ve ever designed a circuit board, then you know the absolute terror of pressing Ctrl+S and wondering if you just ruined a week's worth of routing work. We’ve all been there. Today, let's talk about pairing the best open-source PCB design tool, KiCad, with the ultimate safety net: Git. Whether you're an experienced hardware designer or a hobbyist building your first breakout board, using KiCad with version control will change the game.

KiCad is a free, open-source electronics design suite that provides all the tools necessary to transform a circuit idea from a basic schematic into a professionally routed, 3D-modeled printed circuit board.

In recent years, KiCad has evolved from an obscure academic project into a powerful tool and unlike some EDA tools that save your precious designs in unreadable, proprietary binary files, KiCad saves everything, schematics, footprints, and PCB layouts in plain text files. This design choice makes it a perfect match for version control, as text files can be merged but binary files cannot.

Understanding Version Control

Version control (or source control) is the practice of tracking and managing alterations to project files over time. It serves as both a collaboration engine and a safety net, allowing teams to develop in parallel, maintain a flawless history of modifications, and collaborate without stepping on each other's toes.

Sync solutions such as Dropbox or Google Drive are not ideal for version control because they lack file locking, a history view of the change list, and the ability to easily revert to a clearly defined state.

What is Git?

Git has emerged as the most widely adopted version control system, sharing the stage with tools like SVN, Perforce, and Unity Version Control. Originally built for managing software code, Git is a decentralized version control system. "Decentralized" just means that you have a full copy of your project’s history right on your local machine with no internet connection required to save your progress. Its open-source foundation has spawned a massive, robust ecosystem that accommodates every type of workflow:

  • Cloud Platforms: GitHub, GitLab, and Azure DevOps handle the heavy lifting for hosting and collaboration.
  • Desktop Clients: Tools like our Anchorpoint, SourceTree, Fork, and GitHub Desktop offer intuitive visual interfaces for those who prefer to skip the command line.
Version control landscape in 2026

Tools needed

To use KiCad with Git, we need two things:

1) A cloud provider such as GitHub or Azure DevOps

If your project mostly uses text-based files, like those from KiCad, GitHub’s free plan is usually sufficient. However, if your projects rely heavily on large binary files, such as videos, extensive documentation, or 3D models, the file size limits become a major factor. In this case, Azure DevOps is a better choice.

2) A desktop application such as Anchorpoint, GitHub Desktop or Sourcetree

A KiCad project managed with Anchorpoint

In this tutorial, we will use Anchorpoint because it is ideal for artists and engineers. It has Git LFS installed by default and offers file locking.

How to use KiCad with Git, Anchorpoint and Azure DevOps

Getting Started with Azure DevOps and Anchorpoint Integration

Head over to dev.azure.com to register an account and create your first project. While the initial configuration can feel a bit tedious, it is a one-time setup. Future projects will be significantly faster to get off the ground.

Go to dev.azure.com and click on "Start free"
Create an account.
Once you've reached this point, you are nearly done setting up DevOps. You dont need to create a project. It will be done through Anchorpoint.

Connecting Azure DevOps to Anchorpoint

To link Azure DevOps with Anchorpoint, follow the setup instructions outlined below. If you plan to work offline, you can opt for the Shared Folder method when initiating a new project.

Click connection application or go to workspace settings > integrations
Click on "Connect"
Click on "Authorize Anchorpoint"
A consent screen will appear, accept it
Select your organization where Anchorpoint will create repositories, then click "Next"
Follow the on-screen instructions. You'll need to enable "Third-party application access via OAuth" on Azure DevOps, then create a test repository.
Set up your Git credentials by clicking "Login to Azure DevOps". A new window will open, where you can sign in to your account.

Troubleshooting Setup Issues

During the Azure DevOps setup, you might face some common issues like login difficulties. These can usually be resolved by selecting the Use custom credentials option and following the provided steps.

GitHub integration is similar, but simpler with fewer steps and headaches. First, create a free account. Then, open Anchorpoint, go to Workspace Settings > Integrations > GitHub, and follow the on-screen instructions.

Anchorpoint for engineers

Work with a standard Git repository that integrates seamlessly into your existing development environment. No vendor lock-in.
Learn about Anchorpoint

KiCad settings

Before creating the project in Anchorpoint, KiCad comes .git enabled in .history folder for each project, this will conflict with Anchorpoint, so to avoid this, we need to make some changes. In KiCad  go to Preferences tab, and click on Preferences to find common and version control tabs.

In the Common tab, disable automatic backups, or if you actually use it, leave it on and change the location to User data directory.
In the version control tab, make sure Enable Git is unchecked/disabled. In your project folder if you have a folder name .history, check inside if you have a .git folder and delete it, then restart KiCad.

Creating a Project in Anchorpoint

Open Anchorpoint and create a new project. Choose the local project folder on your hard drive. Once set up, Anchorpoint will automatically begin syncing with Azure DevOps.

Click the "New Project" button
Navigate to the folder containing your KiCad project files, ensuring the ".gitignore template" and "Remote Settings" are configured properly. Then, click "Continue".
Lastly, invite team members you want to collaborate with, or leave it blank if you're working solo. Each member must have an Azure DevOps account or GitHub (if you used a GitHub repo)

Uploading your KiCad project to Azure DevOps

Uploading your KiCadproject is straightforward. When Anchorpoint detects uncommitted changes in your project folder, it will prompt you to enter a message, think of this as a checkpoint description. Once you click 'Sync', Anchorpoint pushes your files to Azure DevOps.

Before clicking sync, verify that your .gitignore in the project root contains these lines:

# KiCad local history exclusions. Edit to add your own rules.

fp-info-cache

*-backups/

.history/

~*.lck

If not, add them with a notepad type editor, to ignore temporary files, and then you can Sync.

Your history will initially be empty. Click Timeline, then Changed files to see a list of your project files. Add a meaningful message and click "Sync".

Team Collaboration Setup

All team members must have active accounts for both Azure DevOps and Anchorpoint. Once you invite them to the project, they'll receive a notification. They'll need to select an empty folder on their system, which Anchorpoint will use to download the project from Azure DevOps.

Once team members are invited to the Anchorpoint project, they can download all project files from Azure DevOps. The first time they do this, they'll also need to connect Anchorpoint to DevOps by entering their DevOps credentials.

Version Control Workflow

This type of version control system simplifies the process: instead of saving multiple incremental files, you can work continuously and push updates directly to the cloud. Although it may take some time to adjust, this method enhances efficiency, keeps your file structure clean, and streamlines collaboration.

Your daily workflow becomes:

  • Work on your files in KiCad.
  • Sync your changes. Anchorpoint will automatically grab updates from your team, resolve files, and upload your new work.
  • Repeat as you progress.

Custom Thumbnails in Anchorpoint

Anchorpoint allows you to replace visual asset thumbnails with custom screenshots directly from your viewport or tool engine:

  1. Commit and sync your latest files.
  2. Open the image or the specific software/engine viewport you want to capture.
  3. Switch back to Anchorpoint, right-click the asset file, and choose Replace Thumbnails.
  4. Drag a selection box over the view you want to use.
  5. (Optional) If the capture isn't perfect, right-click the file, hit Refresh the Thumbnails, and try again.
  6. Sync your files one last time to save the new thumbnails to the cloud.

Frequently asked questions

Do I need an internet connection to use Git with my KiCad projects?

Nope! Git is a decentralized version control system, which means your entire project history, including every snapshot and branch you create, lives locally right on your computer. You only need the internet if you want to push your code to a cloud hosting service like GitHub or GitLab to share it or back it up.

Can version control completely replace my habit of saving files as "project_v2_final_FIXED.kicad_pcb"?

Absolutely. In fact, that's the whole point! With Git, you keep just one cleanly named file (e.g., my_project.kicad_pcb). Instead of duplicating files and creating clutter, Git remembers the entire timeline of that single file. If you ever need to go back to a previous version, you just tell Git to jump back to that specific snapshot.

How do Git "branches" help me experiment with different hardware designs?

Think of a branch as a parallel universe. If you want to try swapping out a chip for a cheaper alternative or want to attempt a completely different board shape, you can spin up a new branch. You can experiment freely without touching your stable, working design on the main branch. If it works, you merge it back into your main branch; if it fails, you just delete it and pretend it never happened.