Skip to main content

Verwaltung von CODESYS 4-Projekten in einem Versionskontrollsystem

Ein zentrales Merkmal von CODESYS 4 ist die textbasierte, UTF-8-codierte Datenablage: Jedes Objekt wird in einer eigenen, lesbaren Datei gespeichert. Dadurch lassen sich Projekte und Workspaces direkt mit einem Versionskontrollsystem wie Git, SVN oder Mercurial verwalten – mit nachvollziehbaren Vergleichsansichten (Diffs), Code-Reviews und einer Anbindung an CI/CD-Pipelines.

Ob eine Datei sinnvoll unter Versionskontrolle gehört, richtet sich danach, ob sie zum Quelltext des Projekts zählt. Temporäre Daten, Binärdateien (z. B. Build-Artefakte) und nutzerspezifische Einstellungen zählen nicht dazu und sollten standardmäßig nicht mit einem Versionskontrollsystem verwaltet werden.

Folgende Dateien werden in einem Versionskontrollsystem verwaltet:

Tabelle 1. Excludes und Includes

Pfad/Pattern

Typ

Gilt für

Semantik

Beschreibung

.compileContexts

Ordner

CODESYS 4

Exclude

Ablageort für Compile- und Referenzkontexte (SideCar)

Befinden sich jeweils im Ordner <name>.iecapp^/

.library-cache

Ordner

CODESYS 4

Exclude

Ablageort für aufgelöste, kompilierte Bibliotheken

Liegt auf oberster Ebene im Projekt (.fbsdev und .fbslib)

Kann bei Bedarf committet werden, wenn die Binärdateien in der Versionskontrollverwaltung unproblematisch sind; standardmäßig wird der Ordner jedoch ignoriert.

.intermediate

Ordner

CODESYS 4

Exclude

Ablageort für temporäre Dateien (z. B. GDM.lock.json), die zu Diagnosezwecken erzeugt und jeweils im Ordner <name>.iecapp^/ abgelegt werden

.bootapp

Ordner

CODESYS 4

Exclude

Ablageort der generierten Offline-Bootapplikation

Wenn kein Pfad angegeben ist, jeweils im Ordner <name>.iecapp^/.

<name>.fbsws.user

Ordner

CODESYS 4

Exclude

Ablageort für benutzerspezifische Workspace-Einstellungen und -Präferenzen

Liegt parallel zur Workspace-Datei

Kann vom Anwender committet werden, wird standardmäßig jedoch nicht unter Versionsverwaltung gestellt.

.user

Ordner

CODESYS 4

Exclude

Ablageort für nutzerspezifische Projekteinstellungen und -Präferenzen

Liegt auf oberster Ebene im Projekt

Kann bei Bedarf committet werden, wird standardmäßig jedoch nicht unter Versionsverwaltung gestellt.

!**/.gitignore

Datei

Git

Include

Legt fest, welche Dateien von Git verwaltet werden.

!**/.gitattributes

Datei

Git

Include

Allgemeine Git-Regeln wie Zeilenumbrüche



Tipp

Im Gegensatz zu den Bibliotheken wird der .devDesc-cache standardmäßig unter Versionsverwaltung gestellt, da es sich um Textdateien handelt.

Beispiel 12. Beispiel für eine Datei .gitignore
# .gitignore file for CODESYS 4 projects
.compileContexts/
/.library-cache/
.intermediate/
.bootapp/
*.fbsws.user/
/.user/
!.gitignore
!.gitattributes