17.2 Git einfach erklärt für Network Engineers

Git ist für Network Engineers vor allem deshalb wichtig, weil es Ordnung, Nachvollziehbarkeit und Kontrolle in eine Arbeitsweise bringt, die im Netzwerkbetrieb lange stark von direkten Geräteänderungen, lokalen Dateien und manuell gepflegten Standards geprägt war. Sobald Netzwerke nicht mehr nur aus einzelnen CLI-Sessions bestehen, sondern mit Templates, Inventardateien, Python-Skripten, Ansible-Playbooks, Compliance-Regeln und standardisierten Konfigurationsblöcken arbeiten, entsteht eine neue Anforderung: Änderungen müssen nachvollziehbar, vergleichbar und sicher wiederholbar sein. Genau hier setzt Git an. Es speichert nicht nur Dateien, sondern die gesamte Entwicklung dieser Dateien über die Zeit. Für Network Engineers ist Git deshalb kein Werkzeug „nur für Entwickler“, sondern ein sehr praktisches Hilfsmittel, um Konfigurationen, Automatisierungscode und Netzwerkstandards strukturiert zu verwalten.

Table of Contents

Was Git überhaupt ist

Ein Versionsverwaltungssystem für Dateien und Änderungen

Git ist ein Versionsverwaltungssystem. Das bedeutet: Es verwaltet nicht nur den aktuellen Stand einer Datei, sondern auch ihre Änderungsverläufe. Jede relevante Änderung kann als definierter Schritt gespeichert werden. Dadurch wird sichtbar, was sich wann geändert hat und wie ein früherer Stand ausgesehen hat.

  • Änderungen an Dateien werden nachvollziehbar gespeichert.
  • Frühere Zustände bleiben erhalten.
  • Unterschiede zwischen Versionen werden sichtbar.
  • Mehrere Personen können kontrolliert an denselben Inhalten arbeiten.

Im Netzwerkkontext betrifft das typischerweise Textdateien, die ohnehin einen großen Teil moderner Netzwerkarbeit ausmachen.

Git speichert nicht nur Dateien, sondern Kontext

Ein sehr wichtiger Punkt ist, dass Git nicht einfach nur Kopien von Dateien anlegt. Git speichert auch den Zusammenhang von Änderungen. Zu jeder gespeicherten Änderung gehört typischerweise eine kurze Beschreibung. Dadurch wird nicht nur sichtbar, dass sich etwas geändert hat, sondern auch warum.

  • „Aktualisiere NTP-Standard“
  • „Ergänze Syslog-Ziele für Branch-Router“
  • „Korrigiere Interface-Template für Access-Switches“

Genau dieser Kontext ist im Netzwerkbetrieb extrem wertvoll, weil sich technische Änderungen später deutlich besser einordnen lassen.

Warum Git für Network Engineers relevant ist

Netzwerkbetrieb arbeitet heute zunehmend mit Dateien

Früher wurde Netzwerkarbeit oft vor allem als direkte Arbeit am Gerät verstanden: SSH-Login, Konfigurationsmodus, Änderungen speichern. Auch heute gibt es diese Arbeitsweise noch, aber moderne Netzwerkbetriebe arbeiten zusätzlich mit vielen dateibasierten Artefakten.

  • Ansible-Playbooks
  • Python-Skripte
  • Jinja2-Templates
  • Inventardateien in YAML oder JSON
  • Golden Configs
  • Dokumentationsquellen
  • Compliance-Regeln

Sobald diese Dateien eine wichtige Rolle spielen, wird Versionsverwaltung zu einer logischen Notwendigkeit. Genau dafür ist Git ideal geeignet.

Direkte Änderungen ohne Verlauf sind im Team problematisch

Wenn mehrere Engineers an denselben Skripten, Templates oder Standarddefinitionen arbeiten, entstehen ohne Versionsverwaltung schnell Probleme.

  • Welche Datei ist die aktuelle?
  • Wer hat den letzten Stand geändert?
  • Warum wurde die Änderung gemacht?
  • Welche Version war vor der Störung aktiv?

Git löst diese Probleme nicht magisch, aber es schafft eine klare technische Grundlage, um Änderungen strukturiert zu verwalten.

Welche Inhalte Network Engineers typischerweise mit Git verwalten

Automatisierungscode und Playbooks

Der häufigste Einstiegspunkt ist die Verwaltung von Automatisierungscode. Dazu gehören Python-Skripte, Ansible-Playbooks oder Shell-Skripte, die Aufgaben im Netzwerkbetrieb automatisieren.

  • Backups erstellen
  • Inventardaten sammeln
  • Compliance-Checks ausführen
  • Standardänderungen ausrollen

Gerade hier ist Git sehr wertvoll, weil schon kleine Änderungen im Code große Auswirkungen auf viele Geräte haben können.

Templates und Standardkonfigurationen

Ein weiterer wichtiger Bereich sind Templates und Standarddefinitionen. Wenn Konfigurationen nicht mehr auf jedem Gerät einzeln geschrieben, sondern aus Vorlagen erzeugt werden, werden diese Vorlagen zu zentralen Betriebsartefakten.

  • Jinja2-Templates für Gerätekonfigurationen
  • Standard-ACLs
  • NTP- oder Syslog-Standards
  • Interface-Profile

Mit Git lässt sich genau nachvollziehen, wann ein Template geändert wurde und wie sich der erzeugte Soll-Zustand dadurch verändert hat.

Inventare und Variablen

Auch Gerätelisten, Standortdaten und Variablendateien sollten versioniert werden. Denn ein Fehler in einer Inventardatei kann genauso problematisch sein wie ein Fehler im eigentlichen Skript.

Ein einfaches YAML-Beispiel:

devices:
  - name: fra-access-sw01
    host: 192.0.2.10
    role: access_switch
  - name: fra-branch-rtr01
    host: 192.0.2.20
    role: wan_router

Wenn diese Datei geändert wird, ist es sehr hilfreich, über Git nachvollziehen zu können, welche Geräte hinzugefügt, entfernt oder angepasst wurden.

Konfigurationsstände und Dokumentation

Auch Konfigurationsbackups, Golden Configs oder automatisiert erzeugte Dokumentationsquellen können sinnvoll in Git verwaltet werden. Gerade bei Textdateien ist das besonders praktisch, weil Unterschiede direkt sichtbar werden.

  • Running-Config-Ausschnitte
  • Golden Configs
  • Markdown-Dokumentation
  • Standards und technische Richtlinien

Die wichtigsten Git-Grundbegriffe einfach erklärt

Repository

Ein Repository, oft kurz Repo genannt, ist der Speicherort eines Git-Projekts. Dort liegen die Dateien und ihre Versionshistorie. Für Network Engineers kann ein Repository zum Beispiel ein Ordner mit Playbooks, Templates und Inventardaten sein.

Ein neues Repository wird typischerweise so initialisiert:

git init

Damit wird ein Verzeichnis zu einem Git-Projekt.

Commit

Ein Commit ist ein gespeicherter Änderungsschritt. Er hält fest, welche Änderungen zu einem bestimmten Zeitpunkt bewusst übernommen wurden. Ein Commit sollte eine sinnvolle fachliche Einheit darstellen.

Typische Git-Befehle:

git add .
git commit -m "Aktualisiere Syslog-Standard fuer Access-Switches"

Für Network Engineers ist wichtig: Ein Commit ist kein Backup beliebiger Zwischenstände, sondern idealerweise eine gezielte, nachvollziehbare Änderung.

Diff

Ein Diff zeigt Unterschiede zwischen zwei Zuständen. Gerade im Netzwerkumfeld ist das extrem nützlich, weil so direkt sichtbar wird, welche Zeilen sich geändert haben.

Beispiel:

git diff

Damit kann ein Engineer prüfen, was sich vor einem Commit tatsächlich verändert hat.

Branch

Ein Branch ist ein separater Arbeitszweig. Damit können Änderungen vorbereitet oder getestet werden, ohne sofort den Hauptstand zu verändern. Für Network Engineers ist das besonders hilfreich, wenn größere Änderungen an Templates oder Playbooks zunächst isoliert entwickelt werden sollen.

Beispiel:

git checkout -b ntp-update

So entsteht ein eigener Zweig für eine definierte Änderung.

Wie Git im Netzwerkalltag konkret hilft

Änderungen an Templates nachvollziehen

Ein häufiges Szenario ist die Anpassung eines Templates, etwa für NTP oder Syslog. Ohne Git wäre später oft schwer nachvollziehbar, welche Version des Templates bei einem Rollout verwendet wurde.

Ein einfaches Template könnte so aussehen:

ntp server {{ ntp_server_1 }}
ntp server {{ ntp_server_2 }}
logging host {{ syslog_server_1 }}

Wenn später ein Syslog-Host ergänzt oder ein NTP-Parameter geändert wird, macht Git diese Änderung klar sichtbar und dokumentiert den Verlauf.

Vor einem Rollout Unterschiede prüfen

Gerade vor produktiven Änderungen ist es hilfreich, die geplanten Anpassungen noch einmal gezielt zu prüfen. Git unterstützt das direkt.

Wichtige Befehle:

git status
git diff
  • git status zeigt, welche Dateien geändert wurden.
  • git diff zeigt, welche Zeilen sich konkret verändert haben.

Das ist besonders wertvoll, wenn ein Playbook oder Inventar vor einem produktiven Change noch einmal kontrolliert werden soll.

Fehler nach Änderungen schneller eingrenzen

Wenn kurz nach einer Änderung ein Problem auftritt, ist eine der wichtigsten Fragen: Was wurde zuletzt geändert? Git hilft genau an dieser Stelle.

Beispiel:

git log --oneline
git show
  • git log --oneline zeigt die letzten Commits kompakt an.
  • git show zeigt Details zu einem Commit und dessen Änderungen.

Damit kann ein Engineer sehr schnell prüfen, ob etwa eine ACL, ein NTP-Template oder eine Variablendatei kurz vor dem Problem geändert wurde.

Git im Vergleich zu klassischer Dateiverwaltung

„config_final_v3_really_final.txt“ ist keine Versionsverwaltung

In vielen Umgebungen werden Dateiversionen noch über Kopien mit leicht veränderten Namen verwaltet. Das ist zwar intuitiv, aber schnell unübersichtlich und unzuverlässig.

  • config_final.txt
  • config_final_v2.txt
  • config_final_v2_new.txt
  • config_final_really_final.txt

Solche Dateinamen lösen weder Nachvollziehbarkeit noch Teamarbeit sauber. Git ersetzt genau dieses chaotische Muster durch eine strukturierte Historie.

Git zeigt nicht nur den Stand, sondern die Entwicklung

Der eigentliche Vorteil von Git liegt nicht darin, dass mehrere Versionen existieren, sondern dass die Entwicklung zwischen diesen Versionen transparent bleibt. Das ist im Netzwerkbetrieb besonders nützlich, weil Änderungen oft klein, aber wirkungsvoll sind.

  • Eine neue Zeile in einer ACL
  • Ein anderer Syslog-Host
  • Ein geändertes VLAN-Template
  • Ein neuer Filter in einem Playbook

Git zeigt genau diese Unterschiede und macht daraus eine nachvollziehbare Änderungsgeschichte.

Wie Git mit Change-Management zusammenhängt

Geplante Änderungen werden prüfbarer

Git verbessert Change-Management erheblich, weil Änderungen nicht mehr nur als Idee oder Tickettext existieren, sondern als konkrete Dateidifferenzen sichtbar werden. Vor einem produktiven Rollout kann das Team genau prüfen, welche Inhalte geändert wurden.

  • Welche Zeilen ändern sich?
  • Welche Dateien sind betroffen?
  • Gibt es versehentliche Nebenänderungen?
  • Passt die Änderung wirklich zum geplanten Change?

Gerade in automatisierten Umgebungen ist das extrem wertvoll.

Rollbacks und frühere Stände werden greifbarer

Git ersetzt keine vollständige Rollback-Strategie, erleichtert aber den Umgang mit früheren Zuständen deutlich. Wenn eine Änderung problematisch war, kann gezielt nachvollzogen werden, welcher Stand vorher aktiv war.

Typische Befehle:

git log --oneline
git checkout <commit-id>

So kann ein älterer Zustand eingesehen oder als Grundlage für eine Wiederherstellung genutzt werden.

Wie Git Teamarbeit im Netzwerk verbessert

Mehr Transparenz bei gemeinsamen Änderungen

Sobald mehrere Engineers an denselben Playbooks, Templates oder Inventardateien arbeiten, wird Transparenz entscheidend. Git schafft diese Transparenz, weil Änderungen nicht still und unstrukturiert überschrieben werden.

  • Jeder Commit zeigt, was geändert wurde.
  • Commit-Kommentare zeigen den Zweck.
  • Die Historie bleibt für das ganze Team sichtbar.

Damit sinkt die Abhängigkeit von informellen Absprachen oder persönlichem Gedächtnis.

Review und Qualitätssicherung werden einfacher

Ein großer Vorteil von Git ist, dass Änderungen vor der produktiven Nutzung geprüft werden können. Gerade bei Netzwerkteams, die Automatisierung aufbauen, ist das ein entscheidender Qualitätsgewinn.

  • Templates lassen sich vor dem Rollout kontrollieren.
  • Inventaränderungen können gegengelesen werden.
  • Playbook-Logik wird sichtbar.
  • Fehler in Variablen oder Filtern fallen früher auf.

Damit wird Git zu einem wichtigen Werkzeug für sichere Zusammenarbeit.

Ein einfacher typischer Git-Ablauf für Network Engineers

Eine kleine Änderung an einem Template vorbereiten

Ein realistischer Ablauf könnte so aussehen:

  • Ein Engineer passt ein Template für neue Syslog-Ziele an.
  • Mit git status prüft er die geänderten Dateien.
  • Mit git diff kontrolliert er die genauen Änderungen.
  • Dann speichert er die Änderung mit einem Commit.

Beispiel:

git status
git diff
git add templates/access_switch.j2
git commit -m "Ergaenze zweiten Syslog-Host fuer Access-Switches"

Damit ist die Änderung nachvollziehbar gespeichert und später klar zuzuordnen.

Den Verlauf später wieder einsehen

Wenn Tage oder Wochen später nachvollzogen werden soll, wann der zweite Syslog-Host eingeführt wurde, helfen einfache Git-Befehle:

git log --oneline
git show

So bleibt auch nach längerer Zeit erhalten, welche Änderung fachlich wann vorgenommen wurde.

Typische Missverständnisse über Git im Netzwerk

„Git ist nur für Entwickler“

Das ist eines der häufigsten Missverständnisse. Zwar stammt Git aus der Softwareentwicklung, aber im Netzwerkbetrieb werden heute ebenfalls viele textbasierte Artefakte gepflegt. Genau dafür ist Git hervorragend geeignet.

„Wir brauchen nur Backups“

Backups sind wichtig, aber sie beantworten nicht dieselben Fragen wie Versionsverwaltung. Wer nachvollziehen will, was sich geändert hat und warum, braucht mehr als eine Sammlung alter Dateien.

„Git ist zu kompliziert für den Netzwerkalltag“

Git hat viele Funktionen, aber für den praktischen Einstieg genügen oft wenige Grundbefehle. Gerade für Network Engineers reicht es häufig, die wichtigsten Konzepte sauber zu beherrschen.

  • git init
  • git status
  • git diff
  • git add
  • git commit
  • git log

Schon damit lässt sich ein großer Teil des praktischen Nutzens erschließen.

Best Practices für Git im Netzwerkumfeld

  • Git nicht nur für Code, sondern auch für Templates, Inventare und Standards verwenden.
  • Änderungen in kleinen, nachvollziehbaren Commits speichern statt viele Themen zu vermischen.
  • Vor jedem Commit mit git diff prüfen, was sich tatsächlich geändert hat.
  • Aussagekräftige Commit-Nachrichten schreiben, die den fachlichen Zweck klar machen.
  • Das Repository als verbindliche Quelle für den Soll-Zustand behandeln.
  • Direkte Geräteänderungen möglichst mit den versionierten Dateien synchron halten.
  • Für größere Änderungen Branches nutzen, um den Hauptstand sauber zu halten.
  • Git in Change-Management, Review und Automatisierungsprozesse einbinden.
  • Mit wenigen Grundbefehlen starten und den Werkzeugumfang schrittweise erweitern.
  • Git nicht als Zusatzaufwand sehen, sondern als Grundlage für kontrollierbare Netzwerkarbeit.

Damit wird klar, warum Git für Network Engineers so wertvoll ist: Es bringt Struktur in Änderungen, Transparenz in Teamarbeit und Kontrolle in automatisierte oder standardisierte Netzwerkprozesse. Wer Git im Netzwerkalltag sinnvoll einsetzt, verwaltet nicht einfach nur Dateien, sondern schafft eine belastbare Grundlage für Nachvollziehbarkeit, Qualitätssicherung und einen insgesamt reiferen Betrieb.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles