Storing my projects in github - KiCad keeps updating kicad_pro file

I’ve got 150-200 projects that I’ve been thinking about moving to github from purely a backup strategy point of view.

I have local backups but thinking it might be time to move all of these projects to github (which I’m very familiar with)

The only issue I can think of when using git is that I’m constantly opening my projects to check on the schematics and footprints etc but with KiCad, since there is no open read only option, each time I open a project (.kicad_pro) it’s date (and contents) are updated even if no changes are made.

This is going to cause a issue with git as the contents keeps changing.

Any way around this other than changing the local file permissions to RO which is not ideal.

Application: KiCad x86_64 on x86_64

Version: 9.0.3-unknown-202508041737~541a727e15~ubuntu24.04.1, release build

Libraries:
	wxWidgets 3.2.4
	FreeType 2.13.2
	HarfBuzz 8.3.0
	FontConfig 2.15.0
	libcurl/8.5.0 OpenSSL/3.0.13 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.2 (+libidn2/2.3.7) libssh/0.10.6/openssl/zlib nghttp2/1.59.0 librtmp/2.3 OpenLDAP/2.6.7

Platform: Ubuntu 24.04.3 LTS, 64 bit, Little endian, wxGTK, X11, ubuntu, x11

Build Info:
	Date: Aug  4 2025 17:37:08
	wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.83.0
	OCC: 7.6.3
	Curl: 8.5.0
	ngspice: 42
	Compiler: GCC 13.3.0 with C++ ABI 1018
	KICAD_IPC_API=ON

Locale: 
	Lang: en_GB
	Enc: UTF-8
	Num: 1,234.5
	Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)

Yeah I don’t think that’s correct. Show your git diff.

Opened a older project and schematic. No changes or ERC checks done.
Closed KiCad.

diff --git a/test/test5.kicad_pro b/test/test5.kicad_pro
index ca9803e..0f459d7 100644
--- a/test/test5.kicad_pro
+++ b/test/test5.kicad_pro
@@ -443,6 +443,7 @@
       "single_global_label": "ignore",
       "unannotated": "error",
       "unconnected_wire_endpoint": "warning",
+      "undefined_netclass": "error",
       "unit_value_mismatch": "error",
       "unresolved_variable": "error",
       "wire_dangling": "error"

So those are probably new settings that didn’t exist in that version of kicad. I doubt they’ll change again until a future upgrade.

2 Likes

Until there’s a RO mode, there’s not a lot you can do in terms of system configuration.

On the other hand, git makes it fairly easy to just git restore <projects that you don't want to change> and reset the files.

Alternatively you can add them to .gitignore after you commit them, and only unignore them again when you actively work on them.

1 Like

Thanks. I think the .gitignore option will work for me as a workaround in the mean time.