OBS/Adminhilfe/Git Fork/Anleitung

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
Für diese Seite wurde eine Zugriffsbeschränkung eingerichtet. Falls du diese Nachricht siehst, bist du nicht berechtigt, diese Seite einzusehen.

Dies ist eine zugriffsgeschützte Seite.


Admin-Hilfe

OBS-Administration / Installation
kundenspezifische Anpassungen
OBS Protokolle
Shop-Administration

Installation

Fork und OBS

  1. Sourcen ziehen
  2. git installieren (Standardeinstellungen)
    https://git-scm.com/downloads
  3. Fork installieren
    https://fork.dev/windows

    Name: Nachname, Vorname
    Mail: nachname.vorname@obs
    File - Preferences: Show commits: Topologically
  4. Clone:
    http://192.168.254.162/root/obs.git
    C:\Bergau\OBS\Dev\
    tempsource

    Anmeldedaten:
    root
    Siehe Passwortverwaltung!
  5. .git-Ordner aus C:\Bergau\OBS\Dev\tempsource in den dev-Ordner ziehen und den dev\tempsource-Ordner löschen
  6. In Fork: File - Open Repository - \dev öffnen

Modified Shop

  1. Clone:
    http://192.168.254.162/root/modified2-obs-shop.git
    C:\Bergau\OBS\Dev
    shop

    Anmeldedaten:
    root
    PW: Siehe Passwortverwaltung!

Arbeitsabläufe

Unstable

Entwickler

  1. Fetch, Unstable-Branch auschecken, 'Pull' zum Versionen ziehen; Wenn gefragt wird, was mit Änderungen passieren soll: 'Stash and Reapply'
  2. Programmieren...
  3. neuen Branch (Rechtsklick - create new Branch) vom Unstable: '<beschreibung>'; Darauf achten, dass der neue Branch ausgecheckt (aktiv) ist (Haken davor); Wenn gefragt wird, was mit lokalen Änderungen passieren soll: 'Don't Change'
  4. Für diesen Branch relevante Änderungen stagen und commiten (In Fork: Changes - Dateien durchgehen - Beschreibung eingeben - Commit); Branches auf ein Commit begrenzen, wenn schon eines gemacht wurde: amend-Haken setzen
  5. Branch in 'merge-<kürzel>-<Beschreibung>' umbenennen, pushen (grüner Branch entsteht), zurück auf unstable wechseln (checkout), lokalen (roten) Branch löschen.
  6. Bei mehreren, unabhängigen Änderungen: zurück zu Schritt 3.
  • Darauf achten, keine Abhängigkeiten der Commits untereinder zu haben!
  • Wenn Änderungen länger in Entwicklung sind: Rebase (Änderungsbranch auschecken (Haken davor), dann Rechtsklick auf den unstable-Branch -> Rebase ... to here), um die Änderungen auf den aktuellen Source-Stand zu bringen

Merger

  1. Unstable auswählen
  2. Bei allen grünen Merge-Zweigen von unten nach oben:
    1. [Rechtsklick - Cherry-Pick] auf commits mit grünen 'merge'-Branches
    2. grünen Branch löschen (auch remote!)
  3. Versions-Tag setzen
  4. Unstable pushen
  5. Version erstellen (Auf Drucklib-Änderungen achten!)

Bugfix/Hotfix

Entwickler

  1. Änderung siehe Unstable zum Mergen geben
  2. Neuen Branch 'bugfix-<kürzel>-<Beschreibung>' von Version erstellen und auschecken
  3. [Rechtsklick - Cherry-Pick] auf den Commit mit der Änderung

Merger

  1. Neuen Branch auf das alte Versionstag erstellen und auschecken
  2. Für alle Änderungen:
    1. [Rechtsklick - Cherry-Pick] auf commits mit grünen 'bugfix'-Branches
    2. Grüne Bugfix-Branches löschen
  3. neues Versionstag setzen
  4. Version erstellen...
  5. Unstable-Branch auschecken
  6. Bugfix-Branch löschen
  7. Rechtsklick aufs Tag: Push to gitlab

Begriffe

Begriff Erklärung Entspricht
Repository Verzeichnis, das mit git verwaltet wird. Im Verzeichnis liegt ein .git-Ordner, in dem die Änderungen und Einstellungen erfasst werden.
Remote Server, auf dem ein Repository zentral verwaltet wird. Dieser kann pro Repository eingestellt werden. Es können auch mehrere Remotes für ein Repository eingerichtet werden. Auf dem Remote-Verzeichnis können verschiedene Benutzer mit unterschiedlichen Berechtigungen arbeiten. PROGRAMM-UPDATE\OBS_SOURCE
Commit Sourcenstand. Ein Commit besteht aus Informationen über den Autor, das Datum und Abhängigkeiten von anderen Commits. Im Commit werden die Änderungen seit dem letzten Commmit zeilengenau festgehalten.
Branch Verweis auf ein Commit. Kann mit einem Remote-Branch verknüpft sein und durch Pull auf den Stand des Remote-Branches gebracht werden. Rote Branches sind nur lokal verfügbar, grüne Branches liegen auf dem Remote. Durch Doppelklick (Checkout) kann ein Branch aktiv gemacht werden. Dabei werden alle Dateien im Arbeitsverzeichnis durch den Stand ersetzt, der im Commit festgehalten wurde, auf das der Branch zeigt.
Checkout Einen Branch oder Commit betreten, ändert die Dateien im Arbeitsverzeichnis auf den Stand des Commits, das ausgecheckt wird.
Tag Verweis auf ein Commit. Kann ans Remote gepusht werden. Version in der Updater-Liste
Fetch Überträgt alle Änderungen vom Remote in das lokale Repository, OHNE das Veränderungen an den lokalen (roten) Branches oder dem Arbeitsverzeichnis durchgeführt werden.
Pull Zieht den ausgecheckten lokalen (roten) Branch auf den Stand vom Remote-Branch (grün). Alle Commits, die übernommen werden, werden mit einem weißen Punkt davor gekennzeichnet. Die Dateien im Arbeitsverzeichnis werden auf den Stand des Commits gebracht, auf den der Remote-Branch zeigt. Version ziehen
Push Überträgt den aktuell ausgecheckten Branch an Remote. Erstellt aus einem roten Branch einen grünen Branch, den alle sehen können, nach dem sie gefetcht haben. Zum Mergen geben
Stage Bestätigt Änderungen zeilengenau als erwünscht und markiert sie zum Übernehmen beim Committen.
Committen Speichert alle gestageten Dateien als neuen Sourcestand in den ausgecheckten, lokalen (roten) Branch.
Amend Macht den letzten Commit rückgängig und zieht alle Änderungen wieder in das Staging. Erlaubt es, einen Commit zu korrigieren oder zusätzliche Änderung vor dem Mergen hinzuzufügen.