Skip to main content
Home
Schatzchaeschtli 2026

Main navigation

  • Home
User account menu
  • Log in

Breadcrumb

  1. Home

Git: Arbeiten mit verschiedenen Branches

By PierreAdmin , 9 October 2026

Hier dokumentiere ich verschiedene Szenarien, in Zusammenarbeit mit Martin und ganz allgemein wie man mit merge und verschiedenen Branches umgehen muss.

Namenskonventionen

Bekannte Benennungen für Branches sind. Kleinschreibung mit - bevorzugt, aber nicht zwingend.

feature/*    neue Funktion / Erweiterung
fix/*        normaler Bugfix
hotfix/*     dringender Fix für bereits produktiven Code
chore/*      technische Wartung / Aufräumarbeiten

Beispiele:
------------------------------------------------------------
feature/responsive-image
feature/new-contact-form

fix/image-spacing
fix/mobile-navigation

hotfix/security-update
hotfix/critical-login-error

chore/update-dependencies
chore/cleanup-css

Einen Feature-Branch in main mergen und Feature-Branch aktiv halten.

Folgender Fall: Der Branch feature/responsive ist noch in Arbeit, aber ich habe auf main z.B. eine wichtige CSS Änderung gemacht, die man auf dem feature/responsive Branch auch sehen sollte. Dazu merge ich main mit dieser kleinen Korrrektur in feature/responsive.
 

Findet alles auf local statt, aktuell im Branch feature/responsive

  • beide Branches auf aktuellen Stand prüfen
  • git switch main oder feature/responsive
  • git fetch > git status
    wenn beide ok, weiter, sonst die aktuellen Stände von remote mit git pull laden

feature/responsive Branch in main mergen

  • git switch feature/responisve
  • git merge main
    der Merge-Commit wird in vi angezeigt, mit :wq bestätigen
  • git status
    prüfen
  • git push
    feature-Branch nach GitLab pushen

Neu gemergten feature/responsive auf dev und stage schieben

  • git fetch
  • git diff HEAD..origin/feature/responsive --stat
    damit werden die geänderten Dateien inkl. Zeilenänderung angezeigt: z.B. 
    Wenn das die zu erwartenden Dateien sind weiter, sonst ev. detaillierter prüfen.
    • public/web/themes/custom/modestia/css/styles.css   | 9 +++++----
      public/web/themes/custom/modestia/scss/styles.scss | 5 +++++
      2 files changed, 10 insertions(+), 4 deletions(-)
  • git pull

Weiterarbeiten

Wenn feature noch nicht fertig ist, kann dort nun mit der CSS Korrektur aus mein weiter gearbeitet werden.

Erledigten Feature-Branch final in main mergen und löschen

Finale merges von erledigten Arbeiten erledigen wir immer auf gitlab direkt.

  • Projekt aufrufen
  • Oben den «Create merge request» Button klicken
    Wir springen auf die Seite «New merge request»
  • Ganz oben steht «From feature/responsive-image into main»
  • Titel: Ist nicht so wichtig, würde hier einfach einen für mich klaren Titel wählen
  • Mark as draft: Aus. Draft bedeutet: «Ich arbeite noch daran. Dieser Merge Request ist noch nicht zur Übernahme bereit.» Gitlab verhindert bzw. kennzeichnet damit den normalen Merge-Prozess
  • Assignee, Reviewer, Milestone... brauchen wir nicht. Ist für Kontrollprozesse, in grösseren Teams.
  • Merge options:
    • Delete source ... : An
    • Squash commits ...: Aus Würde die untenstehenden Commits zu einem zusammenführen. Kann bei vielen kleinen Commits Sinn machen, bei uns wohl in der Regel auch unwichtig.
  • Create merge request > Klicken > bringt uns auf die nächste Seite
  • Im zweiten Block steht «Ready to merge!» und die bereits auf der vorherigen Seite eingestellten Checkboxen. Lassen wir natürlich wie es hier ist.
  • Der Ausführen-Button steht auf «Set to auto-merge». Das wollen wir nicht. Automerge ist abhängig von den verschiedenen Checks.
  • Ausführen Button auf Merge immediatly. Dann wird der Merge sofort ausgeführt.
  • Im oberen Block wird angezeigt, was gemacht wurde. 
    • Bsp: Merge details
    • Changes merged into main with 8285284a.
    • Deleted the source branch.
  • Damit ist der merge auf gitlab abgeschlossen und wir haben ein sauberes main Repository mit den responsive Bildern implementiert.

Alle Umbegungen updaten und gelöschte Branches auch lokal entfernen

Die lokal erstellten Branches bleiben bestehen, auch wenn auch gitlab beim merge gesagt wurde dass der nicht mehr benötigte Branch gelöscht werden soll. Auf gitlab ist er weg, die lokalen Branches bleiben aber bestehen.

  • git status > nur kurz prüfen
  • git branch > auch schnell checken ob noch andere branches aktiv sind
  • git switch main > zurück auf main wechseln
  • git fetch > prüfen wie der aktuelle Stand auf remote ist, wenn ok, > 
  • git pull
  • composer install (einfach zur Sicherheit, dass hier nicht mal was vergessen geht)
  • drush cim
  • drush cr

Damit ist diese Umgebung auf main und alles sauber.

Jetzt löschen wir noch die unnötigen Branches

  • git branch > alle Branches anzeigen
  • git branch -d <branchename> Branch löschen

 

 

  • git
  • branch
  • merge
  • switch
  • diff
Git

Tag Suche

Categories (Taxonomie-Menu)

  • Drupal
    • Module
    • Theming
    • Views
  • Webentwicklung
    • Composer
    • CSS/SCSS
    • Deployment
    • Drush
    • Git
    • HTML
    • JavaScript
    • PHP
    • SSH
    • SVG
    • VS Code
  • Datenbank
    • mySQL
  • Server
    • Apache
    • DNS
    • Domains
    • Plesk
    • SSL/TLS
  • System
    • Mac
    • Unix
    • Windows