Git-based Version Control
Git-Repositories werden außerhalb von Altium Designer erstellt, und auf den Inhalt eines lokalen Git-Arbeits-Repositorys wird zugegriffen, indem Dateien aus dessen Host-Ordner geöffnet werden. Die Verwaltung sowohl entfernter als auch lokaler Git-Arbeits-Repositories erfolgt in der Regel über Unternehmenssysteme und externe Git-Tools, während Operationen auf Dateiebene (Commit, Push, Update usw.) in der Bearbeitungsumgebung von Altium Designer durchgeführt werden.
Zur Git-Versionsverwaltung hinzufügen
Als verteiltes Versionsverwaltungssystem verwendet Git einen anderen Workflow als SVN, obwohl der Unterschied bei der Arbeit mit vorhandenen Projektdateien in Altium Designer minimal ist. Kurz gesagt basiert Git auf der Übertragung von Daten zwischen mehreren Repositories, anstatt sich auf die Abhängigkeit von einem einzelnen Repository-Ziel zu konzentrieren.
► Weitere Informationen finden Sie auf der Git-Website sowie unter Version Control Essentials für einen Überblick über die zugrunde liegenden Prinzipien.
Ein Git-VCS-System basiert typischerweise auf einem zentralisierten, entfernten Git-Server, der bei Bedarf mehrere Git-Repositories hosten kann. Aufgrund der schnellen, schlanken Natur von Git bietet es sich an, für jedes Projekt ein entferntes Repository zu erstellen, das dann als Arbeits-Repository für jeden Benutzer geklont (kopiert) werden kann, der an dem Projekt arbeitet. Aktualisierte Dateien im Git-Arbeits-Repository eines Benutzers werden dann in das entfernte Repository auf dem Git-Server „gepusht“, um eine Synchronisierung zu erreichen.
Die Methode zum Einrichten eines Altium Designer-Projekts in einem Git-System hängt von der Unternehmensinfrastruktur und den jeweiligen Praktiken ab und umfasst Tools und Prozesse, die außerhalb von Altium Designer liegen. Sobald sich ein Projekt jedoch im Versionsverwaltungssystem befindet und als lokales Arbeits-Repository verfügbar gemacht wurde, ist die Arbeit mit einem Git-VCS in Altium Designer praktisch dieselbe wie die Arbeit mit einem SVN-VCS.
Ein Projekt zu Git hinzufügen
Beispielsweise kann ein vorhandenes Altium Designer-Projekt mit den grundlegenden Git-Befehlszeilentools zu einem lokalen Git-Repository hinzugefügt werden. Bei diesem Ansatz wird der Projektordner zum lokalen (Arbeits-)Git-Repository, und dieses wird mit einem verfügbaren entfernten Git-Repository verknüpft und letztlich damit aktualisiert.
Hier werden die Tools verwendet, um:
- das Git-Arbeits-Repository im Projektordner zu erstellen (initialize).
-
die Projektdateien zur Git-Versionsverwaltung hinzuzufügen. Die Dateispezifikation
*.*fügt Dateien hinzu, aber keine Ordner. -
die Verknüpfungsreferenz zum gemeinsam genutzten entfernten Git-Repository auf einem Webserver anzugeben.
PCrepoist ein festgelegter lokaler Alias der URL des entfernten Repositorys.
Projekt wird zu einem lokalen Git-Repository hinzugefügt
Wenn das Projekt in Altium Designer geöffnet wird, ist der Status seiner Dateien in den Bereichen Projects und Storage Manager Scheduled for Addition Wenn sie dann in das Arbeits-Repository committed werden, wechseln die Dateien in den Status Ahead of Server , da sie noch nicht im entfernten Git-Repository unter Versionskontrolle stehen.
Dateien geplant für Scheduled for Addition und Ahead of Server
Der Befehl Push aktualisiert die Dateien des lokalen Repositorys auf dem entfernten Git-Server, der möglicherweise gültige Anmeldedaten für das Ziel-Repository anfordert – ein einmaliger Vorgang.
Dateien werden nach der Anforderung gültiger Anmeldedaten aktualisiert
Das Altium Designer-Projekt, das nun vollständig unter Git-Versionsverwaltung steht, wird aus dem entfernten Git-Repository für andere Benutzer verfügbar. Ein anderer Benutzer kann das Repository beispielsweise klonen auf seinen lokalen Rechner und seine bearbeiteten Dateien schließlich im Rahmen eines kollaborativen Workflows zurück in das entfernte Repository pushen.
Ein Git-Repository klonen
Ein lokales Projekt, das zur Git-Versionsverwaltung hinzugefügt wurde, kann von Altium Designer aus dem lokalen Ordner des Projekts (dem Arbeits-Repository) bearbeitet werden, und die committed Änderungen werden dann in das entfernte Git-Repository aktualisiert. Das lokale Repository und das entfernte Repository sind durch einen VCS-PushBefehl verknüpft und werden letztlich synchronisiert.
Andere Benutzer, die am Design zusammenarbeiten möchten, können auf das Projekt zugreifen, indem sie das entfernte Git-Repository in ein lokales Arbeits-Repository klonen. Während sich der Ansatz für den Zugriff auf Dateien aus einem entfernten Git-Repository je nach Unternehmenssystemen und -methoden unterscheidet, besteht eine grundlegende Möglichkeit, den Inhalt eines entfernten Repositorys in ein lokales Arbeits-Repository zu klonen, in der Verwendung des Git-Befehls git clone [remote repository URL] [target working repository folder], wie in der folgenden Abbildung gezeigt.
Committed Änderungen in das entfernte Git-Repository aktualisiert
Der Prozess repliziert das gemeinsam genutzte entfernte Repository als lokales Arbeits-Repository und checkt automatisch die neueste Revision (HEAD) aus dem Master-Branch aus. Die Dateien können dann in Altium Designer bearbeitet, gespeichert und in das VCS committed und schließlich zurück in das entfernte Git-Repository gepusht werden.
Verbindung zu einem vorhandenen Git-Repository herstellen
Altium Designer bietet keine Steuerelemente zum Erstellen eines neuen Git-Repositorys oder zum Verbinden mit einem vorhandenen. Sie können jedoch auf andere Weise effektiv eine Verbindung zu einem vorhandenen Repository dieses Typs herstellen (also mit der traditionellen Technik, die von Git-Benutzern bevorzugt wird). Gehen Sie dazu wie folgt vor:
- Erstellen Sie Ihr entferntes Git-Repository oder greifen Sie auf das externe Repository Ihres Unternehmens zu, in dem Ihre Altium Designer-Projekte gespeichert sind.
- Klonen Sie das Repository, um Ihr lokales Git-Arbeits-Repository zu erstellen.
- Öffnen Sie ein Altium Designer-Projekt aus dem lokalen Repository.
Altium Designer erkennt, dass das Projekt in einem Git-basierten Repository unter Versionskontrolle steht, und stellt VCS-bezogene Statusangaben sowie Befehle/Funktionen zur Arbeit mit den Dateien bereit (einschließlich Commit (in das lokale Git-Arbeits-Repository) und Push (vom lokalen Git-Repository in das entfernte Git-Repository)).