Hallo Mendix: Werde gut in Git mit Mendix
Es ist schon eine Weile her, seit ich etwas im „Hello Mendix”-Reihe, also habe ich beschlossen, sie wieder zu starten. Heute spreche ich über die Arbeit mit Git und Mendix zusammen und wie Sie Drittanbieter-Tools wie Github verwenden, um Ihre Mendix App-Repository in einem privaten Git-Repository.
Wenn du es nicht schon wusstest, Mendix wurde Verwendung von Git statt SVN seit Version 9.21, und es wird der Standard für Mendix in Zukunft. Dies liegt daran, dass Git gegenüber SVN mehrere Vorteile bietet, wie zum Beispiel:
- Git ist der Standard zur Softwareversionskontrolle für Unternehmen wie Github, Azure und AWS.
- Git speichert eine lokale Version des Repositorys, was bedeutet, dass Entwickler weniger von einer Hochgeschwindigkeits-Internetverbindung abhängig sind, da sie ihre Arbeit nicht so oft synchronisieren müssen.
- Mit Git ist die Synchronisierung von Änderungen zum und vom zentralen Repository schneller und zuverlässiger.
- Mit Git können Sie Ihre Änderungen committen, ohne sie sofort in das zentrale Repository zu übertragen. So haben Sie mehr Kontrolle darüber, was wann committet wird.
- Bei Git müssen Sie vor dem Abrufen von Aktualisierungen ein lokales Commit durchführen. Das heißt, wenn Ihnen beim Lösen von Konflikten ein Fehler unterlaufen ist, können Sie die von Ihnen und Ihren Kollegen vorgenommenen Änderungen trotzdem noch anzeigen und lösen, ohne Ihren Code vollständig mit dem Server zusammenführen zu müssen, um Konflikte zu erkennen.
- Und schließlich können Sie Git-Tools von Drittanbietern wie Github Desktop verwenden, wenn Sie die Dinge genauer verwalten müssen.
Wenn Ihre App noch nicht auf Git migriert ist, suchen Sie einfach „Migrieren zu Git“ auf der Mendix Dokumentseiten für weitere Informationen zur Durchführung der Änderung.
Ich werde in diesem Blog keinen Migrationsleitfaden verfassen. Stattdessen werde ich darüber sprechen, wie Sie Git aktiv in Ihrem Mendix Entwicklung. Ich werde einige Unterschiede zwischen SVN und Git bei der Arbeit mit Änderungen an Ihrem Projekt behandeln und schließlich werde ich einen Blick darauf werfen, wie Sie GitHub als Ihr Mendix privates Git-Repository für Apps.
Lokale Commits und Push zum Server
Wie ich bereits erwähnt habe, besteht der größte Unterschied zwischen SVN und Git darin, wie Änderungen auf den Server übertragen werden. Bei SVN wurde bei jedem Update oder Commit alles synchronisiert. Bei Git müssen Sie Ihre Änderungen lokal committen. bevor Sie können sie auf den Server übertragen.
Wie sieht das also aus? Schauen wir uns das in Studio Pro an.
In Studio Pro werden Commits standardmäßig immer noch automatisch in das Repository übertragen. Sie können dieses Kontrollkästchen jedoch vor dem Commit deaktivieren, wenn Sie bei vielen Änderungen einen lokalen Speicherpunkt erstellen möchten. Diese lokalen Commits funktionieren wie normale Commits. Dies bedeutet, dass Sie bei Problemen immer noch auf sie zurückgreifen oder sie als Ausgangspunkt für eine Zweiglinie verwenden können.
Sie können dies tatsächlich sehen, wenn Sie nach der Durchführung eines lokalen Commits zum Teamserver für Ihre App gehen. Es wird hier bei allen gepushten Commits nicht angezeigt.

Revisionsnummern
Eine weitere Sache, die Ihnen vielleicht auffällt, ist, dass die Versionsnummern beim Vergleich von SVN und Git unterschiedlich sind. SVN verwendet ein fortlaufendes Nummernsystem für seine Revisionen, wie „1.0“ oder „2.0.1“. Git hingegen verwendet SHA-Hash-Strings. Dies mag zwar wie ein kleiner Unterschied erscheinen, bedeutet aber, dass sie in einer verteilten Umgebung generiert werden können und auf verschiedenen Clients mit identischen Änderungen dennoch gleich sind.

Verwendung von Github als Drittanbieter-Git
Nachdem wir nun einige der grundlegenden Unterschiede zwischen SVN und Git behandelt haben, zeige ich Ihnen, wie Sie Github als Git-Repository eines Drittanbieters oder als privates Git-Repository verwenden können.
Dazu benötigen Sie einen PAT oder Personal Access Token von Github, mit dem wir Studio Pro autorisieren, damit es sich mit dem Repo verbinden kann. Um mehr darüber zu erfahren, wie das geht, suchen Sie einfach nach „PAT für Github erstellen.“ Die Github-Dokumente enthalten eine hervorragende Schritt-für-Schritt-Anleitung dazu und das Ausfüllen des Assistenten dauert nur wenige Minuten.
Sobald Sie ein PAT haben, müssen Sie sicherstellen, dass Sie den Desktop-Client von Github installiert haben. Sie können auch die Befehlszeile verwenden, aber die Verwendung des Desktop-Clients macht es viel einfacher.
Um diesen Prozess zu starten, müssen wir eine App in Studio Pro erstellen. Dafür verwende ich Version 9.24.2 und werde einfach eine einfache leere Web-App erstellen. Wenn Sie die App erstellen, ist es wichtig, keine Online-Dienste zu aktivieren. Im Moment möchten wir nur, dass die App lokal auf dem Entwicklungscomputer vorhanden ist. Etwas anderes, das hier wichtig ist, ist, immer die Mendix Projekt zuerst, weil Mendix erfordert ein leeres Verzeichnis oder eine leere Datei, um ein Projekt zu erstellen.

Sobald Ihre App erstellt ist, müssen Sie das Github-Repository mithilfe des Desktop-Clients erstellen. Achten Sie darauf, hier die Laufwerksoption „Von der Festplatte“ auszuwählen.

Bevor wir Studio Pro nun richtig mit diesem Repo verbinden können, muss das Repo mindestens ein manuelles Commit enthalten. Daher müssen wir hier einige Änderungen vornehmen. In meinem Beispiel werde ich nur einen Text auf einem Etikett auf der Benutzer-Homepage ändern und sicherstellen, dass die Änderungen im Projekt gespeichert werden. Jetzt kann ich zum Github Desktop-Client zurückkehren und diese Änderung committen.
Jetzt ist alles bereit, um Studio Pro mit Github zu verbinden. In Studio Pro können wir „Download vom Versionskontrollserver“ auswählen. Wählen Sie dort „Privater Server“ und geben Sie die Adresse Ihres App-Repositorys ein. Wenn Sie Ihre Github-Anmeldeinformationen noch nie eingegeben haben, werden Sie aufgefordert, sich beim Repo zu authentifizieren, indem Sie einen Benutzernamen und ein Passwort für das Repository eingeben.
Der Benutzername ist die E-Mail-Adresse des Github-Kontos, dem das Repository gehört, und Ihr Passwort ist das PAT-Token, das Sie wie zuvor erläutert von Github erhalten müssen. Achten Sie beim Eingeben Ihrer Anmeldeinformationen darauf, „Angemeldet bleiben“ auszuwählen, damit Sie die Daten nicht bei jedem Commit erneut eingeben müssen.
Jetzt können wir das Projekt dorthin herunterladen, wo Sie normalerweise Ihre Mendix Apps, und an diesem Punkt, Mendix lädt das Projekt aus Ihrem Github-Repository herunter. Sobald das Projekt geöffnet ist, haben Sie vollen Zugriff auf die Optionen der Versionskontrolle und können Ihre Änderungen wie bei jeder anderen App weiter entwickeln und pushen.
Erfahren Sie mehr über Mendix & Git:
- https://docs.github.com/en/get-started/quickstart/create-a-repo
- https://docs.mendix.com/refguide/version-control/
- https://docs.mendix.com/refguide/svn-git-differences/