Einführung
Die Implementierung von CODESYS Git ist an das Arbeiten in Git und an die Begrifflichkeiten von Git angelehnt. Nach der Installation erhalten Sie in der Menüleiste von CODESYS das Menü Git mit den Befehlen zum Initialisieren eines Git-Projekts und zum Arbeiten mit den angebundenen Git-Repositorys.
Sehen Sie im Folgenden einige Begriffsverwendungen in der CODESYS Git-Hilfe und in der CODESYS Git-Benutzeroberfläche. Entsprechende Standard-Git-Befehle sind mit angegeben.
Grundkenntnisse im Arbeiten mit Git werden vorausgesetzt. Dokumentation dazu finden Sie beispielsweise hier: Git-Book, Atlassian Git Bucket
Git-Repository, Git-Projektablage („Arbeitsverzeichnis“, „Arbeitsbaum“, „Working Tree“, „Git Project Storage“) | Für das rein lokale Repository für ein CODESYS Git-Projekt verwenden wir hier abgekürzt den Begriff „Git-Repository“. Das Git-Repository liegt im Dateisystem in der „Git-Projektablage“ im Unterverzeichnis Die Git-Projektablage enthält außerdem die Git-Verwaltungsdateien Der Pfad der Git-Projektablage eines Projekts ist in der Ansicht Git-Projekteinstellungen sichtbar. Die Konfigurationseinstellungen, die in der Datei |
CODESYS-Projektverzeichnis | Ein mit CODESYS Git verwaltetes Projekt wird zusätzlich zur Git-Projektablage immer auch in einem „normalen“ CODESYS-Projektverzeichnis abgelegt (doppelte Datenhaltung). |
Remote-Repository Ansicht Git Remotes
| WichtigAchten Sie auf eine sichere Verbindung zu einem Remote-Server. Für weitere Informationen siehe: Security für CODESYS Git Remote-Repositorys sind Versionen Ihres Projekts, die im Internet oder irgendwo im Netzwerk gehostet werden. Es ist durchaus möglich, dass Sie mit einem „entfernten“ Repository arbeiten können, das sich tatsächlich auf demselben Rechner (Host) befindet auf dem Sie gerade arbeiten. Das Remote-Repository heißt üblicherweise Ein CODESYS-Projekt, das bereits unter Git-Verwaltung in einem lokalen Git-Repository ist, kann in der Ansicht Git Remotes mit einem Remote-Repository verknüpft werden ( Erst dann können lokale Branches Remote-Branches „tracken“ und können für lokale Branches äquivalente Branches im Remote Repository erzeugt werden („Upstream“). Und erst dann kann mit Fetch, Pull, Push und Merge ein Austausch/Zusammenführen von Commits zwischen dem lokalen Git-Repository und dem Remote-Repository erfolgen. Um Git-Operationen mit einem Remote-Repository durchzuführen, werden in der Regel Anmeldedaten zur Authentifizierung benötigt. Diese werden in Windows in der Anmeldeinformationsverwaltung gespeichert. Für alle Remote-Repositorys, die auf demselben Host-Server liegen, können diesselben Anmeldedaten verwendet werden. Für weitere Informationen sehen Sie: Anmeldedaten erforderlich. |
Lokale Branches, Remote-Branches Ansicht Git-Branches
| Es gibt genau zwei Arten von Branches: „Lokal“ und „Remote“. Ein lokaler Branch kann genau einen Remote-Branch „tracken“. Lokale Branches: Lokale Branches werden in der Ansicht Git-Branches Lokal (<n>) angezeigt. Der lokale Standard-Branch eines Git-Repositorys (üblicherweise Ein lokaler Branch entsteht auch durch Kopieren eines bereits vorhandenen lokalen Branches, oder durch Auschecken eines Remote-Branches. Im letzteren Fall trackt der neu entstandene lokale Branch automatisch den Remote-Branch. Remote-Branches: Remote-Branches werden in der Ansicht Git-Branches Remote (<n>) angezeigt. Sie sind im Git-Repository vorhandene Stellvertreter des jeweiligen gleichnamigen Branches im Remote-Repository. Remote-Branches dienen nur intern als „Zwischenstation“ bei der Kommunikation über Push / Pull mit dem Remote-Repository und werden vom Anwender nicht direkt benutzt. |
„Upstream" Befehl in der Ansicht Git-Branches Lokal
| Die Aktion Upstream Set bewirkt, dass ein dem lokalen Branch entsprechender Branch im Remote-Repository angelegt wird (Remote-Branch). |
„Tracken", „Remote Tracking Branches“ Befehl in der Ansicht Git-Branches
| Branch tracken heißt, die Verknüpfung eines lokalen Branches mit einem Remote-Branch herstellen. Standardfall: Der lokale Stellvertreter-Branch Wenn ein lokaler Branch einen Remote-Branch trackt, ist ein Austausch von Commits mit dem Remote Repository über Pull und Push möglich. Alternativ können Sie auch mit dem Befehl Checkout in der Ansicht Git-Branches Remote (<n>) für einen vorhandenen Remote-Branch einen lokalen „tracking“ Branch erzeugen, der gleichzeitig als „Aktueller“ Branch gesetzt wird. Der aktuelle (current) Branch ist derjenige Branch, in dem neue Commits ankommen. |
Git Index Ansicht Git-Status
| Der Index ist eine Git-interne Zwischenebene zwischen Arbeitsverzeichnis und Git-Repository. Er ermöglicht, gezielt nur eine Auswahl von geänderten Objekten für einen Commit vorzumerken. Nicht alle Änderungen müssen als Commit eingecheckt werden. Objekte, die im Git-Index liegen, sind in der Ansicht Status & Vormerken in der Sektion Vorgemerkte Änderungen sichtbar. |
Resynchronisierung und Neuladen des Projekts Synchronisierung | Eine Resynchronisation des CODESYS -Projekts in CODESYS mit dem aktuellen Stand aus der Git-Projektablage erfolgt nach jeder Git-Operation, die eine Änderung am Git-Repository ausführt. Solche Operationen sind u.a.:
Das Resynchronisieren des CODESYS-Projekts bewirkt, dass das Projekt als Ganzes neu aus dem Repository erstellt wird. Es wird nicht versucht, das Projekt zu aktualisieren. Mit dem Befehl Projekt aus Repository neu laden können Sie eine Resynchronisierung explizit veranlassen. MIt Synchronisierung ist umgekehrt die Übernahme von Änderungen aus der CODESYS-Projektablage in die Git-Projektablage gemeint. Dies erfolgt immer dann, wenn im CODESYS-Projekt geändert wird. Bei Änderungen im Projekt werden nur genau diese übernommen. Wenn das Projekt neu geöffnet wird, wird das komplette Projekt erneut in die Git-Projektablage übernommen und überschreibt den dortigen Stand. Mit dem Befehl Projekt mit Git-Projektablage synchronisieren(standardmäßig nicht im Git-Menü) können Sie eine Synchronisierung explizit veranlassen. |