Abschnittsübersicht

    • Git-Struktur



      Ablauf: Schritt für Schritt

      • Aktuellen lokalen Stand in lokales Git-Repository einpflegen.

      • Clone des MoodleHQ-Gits in lokales Repository ➡️ bei Bedarf Einbindung als Upstream (bspw. bei Update)

      • Plugin-Einbindung als Submodule

      • Einbindung weiterer Anwendungen (sofern möglich) als Submodule
    • How to ... Moodle Versionsupgrade

      • Remote hinzufügen & Remote-Branches holen:
        • cd <pfad-zum-root>
        • git remote add upstream https://github.com/moodle/moodle.git
        • git fetch upstream

      • Feature-Branch anlegen:
        • git checkout -b <feature-branch-name>
        • git push origin <feature-branch-name>

      • Neue Version in Update-Branch mergen:
        • git branch --set-upstream-to=<name-des-upstream-remote>/<branch-des-upstream-remote> <feature-branch-name>
        • git pull git submodule update --recursive

      • Feature-Branch in Master-Branch mergen:
        • git checkout --recurse-submodules master
        • git pull origin master git merge <feature-branch-name> git push origin master
    • Git Submodule vs. Git Subtree

       Submodule Subtree
       Link eines Repositorys  Kopie eines Repositorys
       Kann auf einen fixen Commit zeigen  Integriert seinen Inhalt in das Haupt-Repository
       Verfügt über Upstream, erleichtert Update            Verfügt über keinen Upstream, kann bei Bedarf nachgezogen werden