Navigation

Smerge – Versionskontrollsystem für Snap!

Smerge – Versionkontrollsystem für Snap!

entwickelt von Tilman Michaeli und Stefan Seegerer

Smerge ist ein Versionskontrollsystem für die blockbasierte Sprache Snap!, das Zusammenarbeit und Tinkern im Klassenzimmer ermöglicht. Es ist auf Anfängerinnen und Anfänger zugeschnitten und daher für Lehrpersonen sowie Schülerinnen und Schüler einfach zu bedienen. Wir wollten es vermeiden, einen überladenen Git-Klon zu erstellen.

How to Smerge – Unser Dachsbau

Ein Dachs arbeitet mit allen seinen Familienmitgliedern an seinem Bau, der viele Tunnel und Kammern enthält, und baut ihn über Jahre hinweg schrittweise aus.

Bei der Programmierung gehen wir genauso vor: Unser Fortschritt und die Weiterentwicklung des Programms von Version zu Version können wir auch als „Dachsbau“ präsentieren. In unserem Beispiel entwickeln wir Asteroids, das Spiel, in dem du alle Asteroiden mit deinem Raumschiff zerstören musst, bevor sie das Schiff treffen.

Aber wie kommen wir zu so einem „Dachsbau“? Wir können jede der Versionen direkt in Snap! mit einem Doppelklick öffnen. Dann können wir an unserem Projekt arbeiten, wie wir es gewohnt sind.

Um die Änderungen in Snap! zu speichern, müssen wir sie in unserem Dachsbau „posten“. Dies geschieht über den entsprechenden „Post to smerge….“ Block unter Variablen. Wir können dann zusammenfassen, was wir getan haben. So werden wir diese spezielle Version in unserem Projekt später auf smerge.org wiederfinden.

Alleine zu arbeiten ist langweilig

Ein Dachs arbeitet nicht allein an seinem Bau, sondern mit der ganzen Familie. Jeder gräbt seinen eigenen Tunnel.

Bei uns ist es genauso, wenn wir gemeinsam arbeiten. Wir teilen die Arbeit auf: Du arbeitest daran, das Raumschiff schussfähig zu machen, während ein Freund oder Teammitglied die Asteroiden durch den Weltraum fliegt.

Wie du siehst, arbeitet jeder wie sein eigener „Tunnel“!

An einem bestimmten Punkt will sich der Dachs mit seinen Familienmitgliedern treffen. Ebenso wollen wir unsere Änderungen im Projekt zusammenführen. Irgendwann wollen wir das Spiel ja auch spielen, nicht wahr?

Dazu klicken wir einfach auf den „Merge“-Button unten rechts, kreuzen alle Versionen an, die wir zusammenführen möchten, und bestätigen mit Ja.

Jetzt erhalten wir eine neue Version, in der alle Änderungen zusammengeführt wurden. Aber was passiert, wenn mehr als einer Änderungen am gleichen Skript vorgenommen hat? Wenn eine solche Situation eintritt, müssen wir manuell die Version auswählen, die wir behalten wollen:

Wir gehen zurück, wenn wir einen Fehler gemacht haben

Manchmal verlässt der Dachs einen Tunnel, z.B. wegen mangelnder Stabilität. Dann muss er in seinem Bau hin und her gehen und von einer anderen Kammer aus weiterarbeiten. Auf die gleiche Weise müssen wir manchmal auf eine ältere Version zurückgreifen, z.B. weil wir einige Fehler gemacht oder etwas ausprobiert haben, was nicht wirklich funktioniert hat. Dazu öffnen wir einfach die Version, auf die wir zurückgehen möchten, öffnen sie in Snap! durch Doppelklick und arbeiten von dort aus weiter. Auf diese Weise erhalten wir einen neuen „Tunnel“.

Entwickelt für Lehrpersonen und das Klassenzimmer

Was bietet Smerge und wie kann es beim Unterrichten helfen?

  • Smerge ermöglicht die Zusammenarbeit für projektbasiertes Lernen mit Snap!
  • Alle Daten sind immer verfügbar und werden automatisch gesichert, so dass es kein „Ich habe meine Sachen zu Hause vergessen“ oder „Mein Partner ist krank, ich kann nicht arbeiten“ mehr von Seiten der Schülerinnen und Schülern gibt.
  • Es können Vorlagen im Sinne von „Codeskeletten“ einrichten, mit denen Sie Ihre Schülerinnen und Schülern mit benutzerdefinierten Blöcken, einigen bereits vorhandenen Codeteilen, usw. zur Verfügung gestellt werden können.
  • Weitere Vorlagen können sogar via Drag & Drop hinzugefügt werden.
  • Der Entwicklungsprozess ist immer sichtbar, sowohl für Ihre Schülerinnen und Schüler als auch für Sie. Dies ermöglicht es, den individuellen Beitrag zu bewerten und individuelles Feedback zu geben.
  • Sie sehen die Versionshistorie und können Änderungen rückgängig machen und zu alten Versionen zurückkehren, was das Basteln und Tinkern in einer risikofreien Umgebung ermöglicht.

Login und Usermanagement

Wir haben bewusst keine eigenen Benutzerkonten oder ein eigenes Usermanagement. Um Ihre Projekte zu sichern, erhalten Sie stattdessen bei der Projekterstellung eine PIN und können ein Passwort festlegen. Wenn Sie Ihre E-Mail bei der Projekterstellung hinterlegen, können Sie bei Bedarf PIN und Passwort für all Ihre Projekte abrufen, falls Sie diese vergessen haben.

Möchten Sie mehr wissen oder benötigen Sie Hilfe? Kontaktieren Sie uns unter (smerge(at)i2.cs.fau.de)!

Smerge kann unter https://smerge.org ausprobiert werden.