Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.

Altium Designer Git Integration: Version Control Setup Guide

If you’ve ever lost hours of PCB routing work because someone overwrote your file on a shared drive, or spent an afternoon untangling which version of “PowerSupply_v3_final_FINAL2.PcbDoc” is actually the latest, you already understand why version control matters. Altium Designer Git integration brings the same powerful revision tracking that software developers have relied on for years directly into your PCB design workflow.

I resisted version control for years. The learning curve seemed steep, and my “just copy the folder and rename it” system worked fine—until it didn’t. After losing a week’s worth of changes to a file sync conflict, I finally set up Git with Altium. That was five years ago, and I haven’t looked back since. This guide walks you through everything from initial setup to daily workflow, including the gotchas that documentation doesn’t always mention.

Why Use Git for PCB Design Version Control

Before diving into setup, let’s address why Git specifically makes sense for hardware engineers, even though it was designed for software.

Benefits of Altium Designer Git Integration

BenefitDescription
Complete historyEvery change you commit is preserved forever—roll back to any previous version
Parallel developmentMultiple engineers can work on the same project without overwriting each other
BranchingExperiment with layout changes without affecting the stable design
BackupRemote repositories provide automatic off-site backup
Audit trailKnow exactly who changed what and when, with commit messages explaining why
IntegrationWorks with existing company Git infrastructure (GitHub, GitLab, Bitbucket)

Git vs SVN for Altium Projects

Altium Designer supports both Git and SVN (Subversion). Here’s how they compare:

FeatureGitSVN
Repository modelDistributed (full history on each machine)Centralized (history only on server)
Offline workFull functionality offlineLimited offline capability
BranchingFast and lightweightSlower, more storage-intensive
Binary file handlingRequires attention (Git LFS recommended for large files)Handles binary files well natively
Learning curveSteeperGentler
Industry momentumGrowing rapidly in hardwareEstablished in some companies

The main argument against Git for PCB design is repository size. Altium files are binary, so Git can’t efficiently store just the differences between versions—it stores complete copies. A schematic committed 100 times creates roughly 100 copies in the repository. However, typical Altium schematics run about 300KB, so even 100 commits only adds up to 30MB. For most projects, this is perfectly manageable.

Prerequisites for Altium Designer Git Integration

Before configuring Altium, you need a few things in place.

Required Software and Accounts

Git installation: Download and install Git for Windows from https://git-scm.com/download/win. During installation, accept the default options unless you have specific preferences.

Git hosting account: You need a remote repository host. Popular options include:

Altium Designer version: Git integration has been available since Altium Designer 18. Earlier versions only support SVN. The examples in this guide use Altium Designer 23+, though the concepts apply to version 18 and later.

Verifying the Git Extension in Altium Designer

Altium’s Git support comes from a software extension that’s installed by default but should be verified:

  1. Open Altium Designer
  2. Navigate to Extensions and Updates (from the user menu or DXP menu)
  3. Look for “VCS Provider – Git” in the installed extensions list
  4. If it’s not installed, find it in the available extensions and install it

Without this extension, Altium won’t recognize Git repositories or show version control status icons.

Setting Up Your First Git Repository for Altium

Altium Designer doesn’t create Git repositories directly—you use external tools for that. This actually gives you more flexibility and follows standard Git practices.

Creating a Remote Repository

Start by creating a repository on your Git hosting platform:

For GitHub:

  1. Log in to GitHub
  2. Click the “+” icon and select “New repository”
  3. Name your repository (e.g., “PowerSupply_Rev2”)
  4. Select “Private” for proprietary designs
  5. Don’t initialize with README (we’ll push existing files)
  6. Click “Create repository”
  7. Copy the HTTPS URL (e.g., https://github.com/username/PowerSupply_Rev2.git)

For GitLab:

  1. Log in to GitLab
  2. Click “New project” → “Create blank project”
  3. Enter project name and select visibility level
  4. Uncheck “Initialize repository with a README”
  5. Click “Create project”
  6. Copy the HTTPS clone URL

Initializing a Local Git Repository

Open Git Bash (installed with Git for Windows) or your preferred terminal, navigate to your Altium project folder, and run these commands:

bash

cd “C:/Users/YourName/Documents/Altium/PowerSupply_Rev2″git initgit add *.*git remote add origin https://github.com/username/PowerSupply_Rev2.git

The git init command creates a hidden .git folder that stores all version control data. The git add *.* stages files (but not empty folders) for the first commit. The git remote add command links your local repository to the remote server.

Creating the .gitignore File

This step is critical. Altium generates numerous temporary and cache files that shouldn’t be version controlled. A proper .gitignore file prevents these from cluttering your repository.

Create a file named .gitignore (no extension) in your project root with the following content:

# Altium Designer Cache and Temporary Files__Previews/*/__Previews/History/*/History/Project Logs*/Project Outputs*/# Preview files*.SchDocPreview*.PcbDocPreview# Backup files*.~*# Database lock files*.ldb# Auto-conversion notices*.PcbDoc.htm# Local settings (optional – some prefer to track these)*.PrjPcbStructure

Add this file to your repository:

bash

git add .gitignore

Making Your First Commit and Push

With files staged and .gitignore configured, commit and push to the remote:

bash

git commit -m “Initial commit: Power Supply Rev 2 design files”git branch -M maingit push -u origin main

For GitHub and GitLab, you’ll need to authenticate. GitHub requires a Personal Access Token instead of your password—generate one at https://github.com/settings/tokens with “repo” permissions.

Working with Git in Altium Designer

Once your repository is set up, Altium Designer automatically detects it and provides version control features directly in the interface.

Understanding Version Control Status Icons

When you open a project from a Git repository, Altium displays status icons next to each file:

IconStatusMeaning
Green checkmarkUp to dateFile matches the last committed version
Red checkmarkModifiedFile has unsaved changes
Blue plusScheduled for additionNew file not yet committed
Yellow exclamationConflictYour changes conflict with remote changes
Blue arrow upAhead of serverCommitted locally but not pushed
Blue arrow downBehind serverRemote has newer version

These icons appear in both the Projects panel and the Storage Manager panel.

Committing Changes from Altium Designer

After modifying and saving design files:

  1. Right-click the file (or project) in the Projects panel
  2. Select Version Control → Commit
  3. Enter a meaningful commit message describing your changes
  4. Click OK

Writing good commit messages: Be specific. “Fixed routing” tells you nothing six months later. “Rerouted USB differential pairs to meet 90Ω impedance requirement” tells you exactly what changed and why.

To commit all modified files at once, right-click the project name and select Version Control → Commit Whole Project.

Pushing and Pulling with Remote Repositories

Commits are local until you push them to the remote server:

  1. Right-click any file or the project
  2. Select Version Control → Push
  3. Enter credentials if prompted (first time only)

To get changes from the remote repository (made by teammates or from another computer):

  1. Right-click the project
  2. Select Version Control → Pull (or Update/Fetch depending on Altium version)

Pro tip: Always pull before starting work each day. This ensures you have the latest changes and reduces merge conflicts.

Using the Storage Manager Panel

The Storage Manager panel provides a comprehensive view of version control status:

  1. Open via View → Panels → Storage Manager
  2. The panel shows all files, their status, and available actions
  3. You can commit, push, pull, and view history from this panel
  4. Right-click files for additional options like comparing versions

Handling Merge Conflicts in Altium Projects

Merge conflicts are inevitable when multiple engineers work on the same project. Unfortunately, because Altium files are binary, Git can’t automatically merge changes like it does with text files.

Why Binary Files Cause Conflicts

When two people modify the same schematic file, Git sees two different binary blobs. It has no way to intelligently combine them—even if one person changed page 1 and another changed page 5, Git treats the entire file as conflicted.

Resolving Conflicts with Storage Manager

When Altium detects a conflict, you’ll see the yellow exclamation icon:

  1. First, commit your local changes (important—don’t skip this)
  2. Open Storage Manager
  3. Right-click the conflicted file
  4. Select Compare to see differences (if supported for that file type)
  5. Choose to keep your version or accept the remote version
  6. If needed, manually integrate changes by opening both versions

Using the Collaborate, Compare and Merge Tool

For PCB layouts, Altium provides a specialized comparison tool:

  1. Go to Project → Show Differences
  2. Select the two versions to compare
  3. The tool highlights added, removed, and modified objects
  4. You can selectively accept changes from either version

This tool is extremely helpful but has limitations—not all object types are fully supported for merging.

Best Practices to Minimize Conflicts

PracticeDescription
CommunicateTell teammates which files you’re actively editing
Commit frequentlySmaller, frequent commits reduce conflict complexity
Pull oftenGet remote changes before they accumulate
Divide workAssign different schematic pages or board regions to different engineers
Use branchesExperimental work belongs in branches, not the main design

Git Branching for PCB Design Projects

Branching is one of Git’s most powerful features, though Altium Designer doesn’t expose branch operations in its interface—you’ll need external Git tools.

When to Use Branches

  • Testing alternative component placements
  • Experimenting with different layer stackups
  • Creating a design variant
  • Working on features that might not ship
  • Isolating changes before review

Creating and Switching Branches

Using Git Bash or another Git client:

bash

# Create a new branch and switch to itgit checkout -b experimental-routing# Switch back to main branchgit checkout main# Merge experimental branch into main (when ready)git merge experimental-routing

Important: Close your Altium project before switching branches. Altium caches file contents, and branch switching while files are open can cause confusion or data loss.

External Git Tools for Branch Management

Since Altium doesn’t provide branching UI, consider these external tools:

ToolTypeBest For
Git BashCommand lineEngineers comfortable with CLI
TortoiseGitWindows Explorer integrationRight-click workflows
SourcetreeGUI applicationVisual branch management
GitHub DesktopGUI applicationGitHub-centric workflows
GitKrakenGUI applicationVisual learners, complex histories

Read more about Altium relative articles:

Advanced Altium Designer Git Integration Tips

After using Git with Altium for years, here are some lessons learned.

Git LFS for Large Files

If your repository contains large binary files (STEP models, embedded images), consider Git Large File Storage:

bash

# Install Git LFSgit lfs install# Track large file typesgit lfs track “*.step”git lfs track “*.stp”git add .gitattributes

This stores large files more efficiently and speeds up cloning.

Integrating with Altium 365

If you’re using Altium 365, the platform includes built-in Git integration with additional features:

  • Web-based project viewing
  • Comment and review workflows
  • Automated backups
  • No external repository setup required

The Altium 365 approach simplifies setup but locks you into their ecosystem. Standalone Altium Designer Git integration with GitHub/GitLab offers more flexibility.

Authentication Best Practices

For GitHub: Use Personal Access Tokens (PAT), not passwords. GitHub deprecated password authentication for Git operations. Generate tokens at https://github.com/settings/tokens.

For GitLab: Personal Access Tokens or SSH keys both work. Create tokens at your GitLab instance under User Settings → Access Tokens.

Credential caching: To avoid entering credentials repeatedly, configure Git credential helper:

bash

git config –global credential.helper wincred

This stores credentials securely in Windows Credential Manager.

Useful Resources for Altium Git Integration

Official Documentation

Git Learning Resources

.gitignore Templates

Visual Diff Tools for Hardware

Git GUI Clients

Frequently Asked Questions About Altium Designer Git Integration

Can I use Git with older versions of Altium Designer?

Git integration was introduced in Altium Designer 18. Earlier versions (17.x and below) only support SVN for version control. If you’re on an older version, you can still use Git externally—just manage commits through Git Bash or a GUI tool instead of through Altium’s interface. You won’t see status icons in the Projects panel, but the version control functionality works fine.

Do I need to install Git separately, or is it included with Altium?

You need to install Git separately. Altium Designer includes the VCS Provider – Git extension that enables Git integration, but this extension relies on Git being installed on your system. Download Git for Windows from https://git-scm.com/download/win and install it before configuring Altium for Git version control.

How do I handle conflicts when two engineers edit the same schematic?

Unlike text files, Altium schematics can’t be automatically merged. When conflicts occur, you must choose one version or manually integrate changes. The best approach: before starting, one engineer commits and pushes their local changes. The other engineer pulls and reviews those changes in Altium’s Compare tool, then manually adds their modifications to the updated file. Communication is essential—let teammates know which files you’re actively editing.

Should I track Project Outputs in Git?

Generally, no. Project Outputs (Gerbers, drill files, BOMs) can be regenerated from source files and don’t need version control. Tracking them bloats your repository significantly. The .gitignore template in this guide excludes the “Project Outputs” folder. However, if you need to version-control specific manufacturing releases, consider creating a separate “releases” folder outside Project Outputs and explicitly tracking those files.

Can I use branches in Altium Designer without command line tools?

Altium Designer’s interface doesn’t include branching controls—you need external Git tools for branch operations. TortoiseGit integrates with Windows Explorer for right-click access to branching, or use a GUI like Sourcetree or GitKraken. Remember to close your Altium project before switching branches to avoid file caching issues. Some engineers prefer keeping branches simple and using them mainly for experimental changes rather than complex multi-branch workflows.

Final Thoughts on Version Control for PCB Design

Setting up Altium Designer Git integration requires some initial effort, but the investment pays dividends quickly. The first time you recover a design from a corrupted file, trace exactly when a bug was introduced, or seamlessly merge work from multiple engineers, you’ll wonder how you ever worked without it.

Start simple. Create a repository, commit regularly with meaningful messages, and push to a remote backup daily. As you get comfortable, explore branching for experimental work and establish team workflows. The command line can feel intimidating initially, but GUI tools like TortoiseGit make daily operations straightforward.

Version control isn’t just for software anymore. Modern hardware development demands the same rigor, traceability, and collaboration capabilities that software teams have enjoyed for decades. Git delivers all of that—and with Altium’s built-in support, integrating it into your PCB design workflow has never been easier.

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.

  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.

Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.