Xojo 2016.3 Pro und GitHub mit 2 Personen?

Ich habe seit neustem ein Azubi, dem ich Xojo bei bringe. Bisher arbeiten wir an getrennten Projekten. Aber ich würde ihn gerne auch an meinen Projekten mitarbeiten lassen. Ich denke GitHub - in der Bezahlversion - ist das richtige um mit mehreren Personen an einem Projekt zu arbeiten.

Ebenso brauchen alle die Xojo Pro Version, damit man unter File -> Save As -> Das Format von “Xojo Binary Project” auf XML umstellen kann. Jedenfalls verstehe ich es so, dass man bei Github sein Xojo Projekt vorher auf XML umstellen muss? Ist das so korrekt?

Meine eigentliche Frage: Wie arbeitet man am Besten mit Xojo und Github?

Nehmen wir an, ich habe ein Window1. Und mein Azubi baut mir jetzt Window2 dazu. Wie bekomme ich das ganze sauber synchronisiert zu einem Projekt.

Hintergrund ist, dass wir gleichzeitig arbeiten würden, und sein Projekt auf keinen Fall mein komplettes Project überschreiben darf, da ich meine eigenen Änderungen nicht verlieren will. Mir ist irgendwie nicht klar, wie ich nur die Änderungen des Azubis in mein Xojo Project übernehmen kann.

Bin da kein ausgemachter Fachmann. Aber die Merge-Funktionalitt sollte das machen. Siehe z.B. unter https://git-scm.com/docs/git-merge.

Ich bin leider ja auch kein Profi bei GitHub. :frowning:
Den Merge Befehl habe ich gesehen, aber ich kann mir irgendwie noch nicht vorstellen, dass das mit Xojo klappt. Denn woher weiss z.B. die Projekt-Datei, dass es neue Fenster gibt. Oder wenn ich auf der Startseite 2 Buttons einbauen, und er baut einen dazu - wie macht GitHub oder Xojo das beim Merge.

Bei einer reinen Text - Programmiersprachen kann ich mir das gut vorstellen. Aber bei Xojo mit der visuellen Oberflche wundere ich mich, wie das funktionieren kann.

Bitte Projekte im Text Format (Nur Projekt im Formate Menü).
Also kein XML und kein Binär.

Mein Tipp wre: Schau dir einige Git-Clients an und probiere einfach mal drauflos. Ich habe selbst sehr lange im Clinch mit Git gelegen (tue es zum Teil immer noch), aber so halbwegs geht es erst, seit ich Tower benutze, das vor allem eine schnell verfgbare Online-Hilfe bietet. Die Terminologie hatte mich ansonsten erschlagen.

Gro umstellen musst du bei Github selbst nichts, bis auf das .ignore-File, fr das ein Xojo-Preset existiert. Damit werden Builds und obsolete files, die im Projekt-Format angelegt werden, vom Upload ausgeschlossen.

Du kannst dir die Hoheit ber das Repository vorbehalten und deinen Azubi einen eigenen Branch forken lassen also einen Ableger der Daten zum derzeitigen Zeitpunkt. Wenn er sein Fenster bearbeitet hat, ldt er diesen hoch wobei nur seine nderungen bercksichtigt werden, bzw. auch separat sogar codezeilenweise ausgewhlt werden kann, was dazugehren soll. nderungen an deinem Fenster z.B. nicht Xojo verwurschtelt bei Abstrzen ja gerne mal einige Inspector Properties, was diese Objekte dann auch als gendert markiert.

Trifft der Merge Request bei dir ein, also die Bitte, Code hinzuzufgen, kannst du dir vorher anschauen, welche nderungen enstehen. Unerlaubte Bereiche kannst du rauspicken, und den Rest mit deinem Code mergen. Sollte es dabei Konflikte geben, werden dir diese angezeigt und du kannst whlen, wie alles zusammengefgt werden soll.

Machst du zwischenzeitlich ein Update, das einige Grundfunktionen ndert, kann dein Azubi wiederum diese nderungen in seinen Branch pullen wobei seine neue Daten dann eben nicht berschrieben werden.

Das ist alles gewhnungsbedrftig (und findet seine Limitationen bei Shared Code, weil der blicherweise im Binrformat abgelegt wird das wird auch verarbeitet, aber du siehst die nderungen nicht detailliert) und ist recht komplex, weil funktionsmchtig. Mit dem fr einen passenden Client macht es aber sogar Spa, grtenteils zumindest.

Zu deiner Nachfrage, @Marcel: Doch, klappt gut. Intern sind es beim Xojo-Projektformat ja auch nur Text-Dateien, das ist grundstzlich nichts anderes als viele andere Programmiersprachen auch schreiben. Funktionieren tut es, weil immer ein lokales Repository fr die eigenen Arbeiten existiert und beim Pullen und Pushen die nderungen mit dem Remote Repository verglichen werden.

Wie gesagt, ich bin auch kein Experte, aber wenn du Starthilfe bentigst, gib gerne Bescheid.

Hier mal ein Screenshot:

Ich habe Vernderungen an 48 Dateien vorgenommen. Unten habe ich das erste Objekt angeklickt das trgt ein blaues “M” fr “Modified”, und du siehst in Rot und Grn alten und neuen Code rechts. Letzteren kann ich ignorieren (Discard) oder bernehmen (Stage). Ich kann auch alles auf einmal bernehmen (Stage all) und es denn via Push auf das entfernte Repository schieben. Sollte man mal einen Fehler gemacht haben, kann man den Zustand wieder auf den eines bestimmten Zeitpunkts zurcksetzen.
Sind Bestandteile neu, haben sie ein grnes Icon, und entfallen welche, werden sie rot markiert. Wenn man relativ hufig in sein eigenes lokales Repository schreibt, bleibt die Liste auch sehr bersichtlich, nicht so wie hier :wink:

Oder mach das mit Tower (jetzt auch für Windows). MM. nach der am einfachsten zu bedienende und dennoch hoch professionelle Git Client.

Ach, und mit einer NAS wie Synology Diskstations, kann man auch einen Git Server leicht kostenlos selber hosten :wink:

You checked the Xojo webinars bout git integration?

Getting to know Git 1
Getting to know Git 2