MarkNode verfügt über eine integrierte Git-Unterstützung, sodass Sie Änderungen verfolgen, committen und mit einem Remote-Repository synchronisieren können, ohne den Editor zu verlassen.
Automatische Repository-Erkennung
Wenn Sie einen Ordner als Projekt öffnen, prüft MarkNode, ob er ein Git-Repository enthält. Wird eines gefunden, werden die Git-Funktionen automatisch aktiviert – ohne Konfiguration. Ist der Ordner kein Git-Repository, bleiben die Git-Funktionen ausgeblendet.
Statusleiste
Die Statusleiste am unteren Rand des Fensters zeigt Ihren aktuellen Git-Kontext auf einen Blick:
- Branch-Name – der aktuell ausgecheckte Branch
- Anzahl der Änderungen – die Anzahl der geänderten, hinzugefügten oder gelöschten Dateien. Diese Anzahl ist anklickbar: Klicken Sie darauf, um das Versionsverwaltungs-Panel zu öffnen.
Die Branch-Anzeige wird in Echtzeit aktualisiert. Wenn Sie den Branch über das Terminal oder ein anderes Werkzeug wechseln, spiegelt die Statusleiste die Änderung wider, ohne dass ein Neuladen erforderlich ist. Für Ahead-/Behind-Zähler und alle Git-Aktionen verwenden Sie das unten beschriebene Versionsverwaltungs-Panel.
Das Versionsverwaltungs-Panel
Alle Git-Aktionen befinden sich im Versionsverwaltungs-Panel – einer Seitenleistenansicht, die dem vertrauten Source-Control-Muster von Editoren wie VS Code nachempfunden ist. Öffnen Sie es über das Symbol Versionsverwaltung in der Navigationsleiste (es erscheint nach Zuletzt verwendete Dateien, nur wenn das Projekt ein Git-Repository ist) oder drücken Sie Cmd+Shift+K unter macOS bzw. Ctrl+Shift+K unter Windows und Linux.
Das Panel bietet Ihnen alles an einem Ort, ohne dass ein modaler Dialog Ihren Editor blockiert:
- Kopfbereich – der aktuelle Branch-Name sowie die Anzahl der Commits, die dem Remote-Repository voraus sind oder hinterherhinken
- Geänderte Dateien – gruppiert in Bereitgestellte Änderungen und Änderungen (nicht bereitgestellt), wobei jeder Eintrag den Dateinamen, den Pfad und einen Statusbuchstaben anzeigt
- Inline-Aktionen – fahren Sie mit der Maus über eine Datei, um sie bereitzustellen oder die Bereitstellung aufzuheben; der Kopfbereich Änderungen enthält die Aktion Alle bereitstellen und der Kopfbereich Bereitgestellte Änderungen die Aktion Alle Bereitstellungen aufheben
- Commit-Bereich – ein Nachrichtenfeld und eine Schaltfläche Commit, die aktiviert wird, sobald Sie Dateien bereitgestellt und eine Nachricht verfasst haben
- Symbolleiste – die Aktionen Pull, Push und Aktualisieren
Dateistatus-Anzeigen
Der Datei-Explorer färbt den Namen jeder Datei ein, um ihren Git-Status anzuzeigen:
| Status | Bedeutung |
|---|---|
| Geändert | Die Datei enthält noch nicht committete Änderungen |
| Hinzugefügt | Eine neue Datei, die bereitgestellt wurde |
| Nicht versioniert | Eine neue Datei, die noch nicht bereitgestellt wurde |
| Gelöscht | Eine versionierte Datei, die entfernt wurde |
| Umbenannt | Eine versionierte Datei, die verschoben oder umbenannt wurde |
| Konflikt | Die Datei enthält zu lösende Merge-Konflikte |
Der Status wird im Ordnerbaum nach oben weitergegeben – wenn eine Datei innerhalb eines Ordners Änderungen aufweist, wird auch der Name des übergeordneten Ordners eingefärbt (wobei der Status mit der höchsten Priorität übernommen wird). So erkennen Sie geänderte Bereiche Ihres Projekts, ohne jedes Verzeichnis aufklappen zu müssen.
Änderungen committen
Das Committen erfolgt direkt im Versionsverwaltungs-Panel – es gibt keinen separaten Dialog:
- Stellen Sie die Dateien bereit, die Sie einbeziehen möchten, indem Sie mit der Maus über jede Datei fahren und die Bereitstellungsaktion anklicken, oder verwenden Sie Alle bereitstellen im Abschnittskopf.
- Verfassen Sie eine Commit-Nachricht im Nachrichtenfeld.
- Klicken Sie auf Commit.
MarkNode führt den Commit in Ihrem lokalen Repository aus, leert das Nachrichtenfeld und aktualisiert die Dateiliste sowie die Anzahl der Änderungen in der Statusleiste. Schlägt der Commit fehl – zum Beispiel, weil ein Pre-Commit-Hook ihn ablehnt –, zeigt das Panel den Fehler an und behält Ihre Commit-Nachricht bei, sodass Sie es erneut versuchen können.
Pull und Push
Die Aktionen Push und Pull befinden sich in der Symbolleiste des Versionsverwaltungs-Panels.
- Pull ruft die neuesten Commits vom Remote-Repository ab und führt sie mit Ihrem aktuellen Branch zusammen
- Push überträgt Ihre lokalen Commits an das Remote-Repository
Wird der Push abgelehnt (zum Beispiel, weil das Remote-Repository Commits enthält, die Sie lokal nicht haben), müssen Sie zunächst einen Pull durchführen und etwaige Konflikte lösen, bevor Sie erneut pushen.
Außerhalb von MarkNode geänderte Dateien
Wenn Sie Dateien über das Terminal oder einen anderen Editor bearbeiten, erkennt MarkNode die Änderungen und lädt die betroffenen Dateien automatisch neu. Sie müssen weder den Editor noch den Datei-Explorer manuell aktualisieren.
Dies gilt auch für Git-Operationen: Beim Ausführen von git checkout, git merge oder einem beliebigen Befehl, der Dateien im Arbeitsverzeichnis verändert, werden die Änderungen sofort im Editor sichtbar.