Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Entwicklung Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

Der GIT-Befehls-Spickzettel ist eine praktische Referenz für Entwickler und enthält die am häufigsten verwendeten Befehle für GIT-Projekte.

Was ist GIT?

GIT ist ein Open-Source-Repository, in dem Benutzer ihre Dateien ablegen können, darunter Code, Zips, Text oder das gesamte Projekt.

Es verfügt über verschiedene Funktionen, wie Zusammenarbeit, Versionskontrolle, Prozesskontrolle, usw. GIT speichert Dateien effizienter und bietet eine bessere Integrität als andere Versionskontrollsysteme. Git ist ein Befehlszeilen-Tool.

Was ist GitHub?

Mit seiner übersichtlichen Benutzeroberfläche hat sich GitHub, ein Knotenpunkt für Entwickler, zum am weitesten verbreiteten Versionskontrollsystem entwickelt und ist für jedermann und überall zugänglich.

Git Arbeitsablauf

Git verfügt über verschiedene Workflows, und jedes Projekt sollte einen auf seine Anforderungen abgestimmten Workflow haben. Der Git-Workflow ist nichts anderes als ein leichtgewichtiger, verzweigungsbasierter Workflow, der Teams hilft, die regelmäßig Projekte bereitstellen.

Ein Git-Workflow mit Forking erstellt beispielsweise eine lokale Kopie des Repositorys. Jeder Entwickler hat also einen lokalen Arbeitsbereich und ein zentrales Repository. Diese Art von Arbeitsablauf ist gut, wenn mehrere Entwickler beteiligt sind und ermöglicht es den Entwicklern, gemeinsam an der Fork-Kopie zu arbeiten, bevor sie Änderungen am Haupt-Repository vornehmen.

Warum brauchen wir Git?

Da Git ein Versionskontrollsystem ist, arbeiten Entwickler ständig daran, ihre Änderungen zu speichern, sie für andere sichtbar zu machen, ihre Änderungen mit anderen zusammenzuführen und vieles mehr.

Für jede Änderung am Git-Repository müssen die Entwickler die richtigen Befehle für die richtige Aktion kennen. Im Folgenden finden Sie eine Liste der wichtigen und häufig verwendeten Git-Befehle:

Allgemeine Git-Befehle

git add

Um die angegebene(n) Datei(en) zum Staging hinzuzufügen

git add <Datei> -- eine bestimmte Datei hinzufügen
git add * -- alle Dateien hinzufügen

git archivieren

Erzeugt Archive von Commits, Branches und Trees und fasst mehrere Dateien zu einer zusammen. Sie können den Inhalt abrufen, indem Sie die Dateien bei Bedarf extrahieren

git archive HEAD — erstellt ein Archiv aus der HEAD-Referenz des Repo

git archive output = '.tar' — speichert die archivierten Dateien an dem angegebenen Ort

git archive --format=tar.gz — gibt das Format der archivierten Datei an, wie tar, zip, tar.gz

git branch

Listet alle Zweige des Repositorys auf. Ein neuer Zweig mit dem Namen wird erstellt, wenn ein Zweig angegeben wird. Um einen Zweig zu löschen, verwenden Sie die Option -d mit dem Namen des Zweigs. Um einen aktuellen Zweig umzubenennen, verwenden Sie -m.

git branch — listet alle Zweige auf

<a href="https://geekflare.com/how-to-create-a-new-git-branch/">git branch</a> <branch_name> -- erstellt einen neuen Zweig mit dem Namen 'branch_name', checkt den neuen Zweig aber nicht aus.<br><br><code>git branch -d <branch_name> — löscht die Verzweigung, verhindert aber das Löschen, wenn es noch nicht gemerkte Änderungen gibt

git branch -D <branch_name> — erzwingt das Löschen der Verzweigung, auch wenn noch nicht gemerkte Änderungen vorhanden sind

git branch -m <branch2> — benennt den aktuellen Zweig um

git cat-file

Inhalt oder Größe/Typ-Informationen von Repository-Objekten anzeigen

git cat-file <Objekt> — zeigt den Inhalt des Objekts an

git cat-file -t <Objekt> — zeigt den Typ des Objekts an

git cat-file -s <Objekt> — zeigt die Größe des Objekts an

git cat-file -p <Objekt> — gibt den Typ des Objekts in einer hübschen Art und Weise aus

git cat-file -e <Objekt> — zeigt den Fehler auf stderr an, wenn das Objekt ein ungültiges Format hat oder nicht existiert

git cat-file <Typ> <Objekt> — zeigt den Rohinhalt eines Objekts an

git checkout

Um zwischen verschiedenen Zweigen eines Repositorys zu wechseln, verwenden Sie diese Funktion mit Bedacht, da es dafür kein ‘Undo’ gibt.

git checkout <branch_name> — checkt den angegebenen Zweig aus

git checkout -b <branch_name> — erstellt einen neuen Zweig und wechselt zu diesem Zweig

Zum Beispiel:

C:\Users\geekflare>git checkout -b development_branch
Zu einem neuen Zweig 'development_branch' gewechselt

git clean

Räumt das Arbeitsverzeichnis auf. Dateien, die übertragen wurden, werden nicht entfernt

git clean -n — listet die Dateien auf, die entfernt werden sollen

git clean -f — Entfernt die Dateien

git clone

Erstellt eine Kopie des bestehenden Repos in ein neues Verzeichnis. Nützlich, um eine Entwicklungskopie eines zentralen Repo zu erhalten.

git clone <zentrales_repo> <neues_verzeichnis> — erstellt eine Kopie des zentralen Repos in ein neues Verzeichnis

Zum Beispiel:

C:\Users\geek>git clone geekflare master
Klonen in 'master'...
erledigt.


git clone -branch <branch> <repo> — klont einen Zweig aus dem genannten Repository

git commit

Speichert die Änderungen in einer Staging-Umgebung, damit andere sie sehen können.

git commit — überträgt die Änderungen in die Staging-Umgebung

git commit -m <nutz_msg> — gibt bei der Übergabe eine Nachricht aus, um die vorgenommenen Änderungen hervorzuheben

git commit -a — überträgt die Änderungen direkt, ohne Staging

Nehmen wir an, Sie haben eine Datei mit dem Namen samplefile.txt zu Ihrem Arbeitsverzeichnis hinzugefügt und möchten die Datei übertragen. Wenn Sie den obigen Befehl eingeben, erhalten Sie die folgende Ausgabe:

Bitte geben Sie die Commit-Nachricht für Ihre Änderungen ein. Zeilen, die
mit '#' beginnen, werden ignoriert, und eine leere Nachricht bricht die Übergabe ab.
Auf Zweig master
Erste Übergabe
Zu übergebende Änderungen:
neue Datei: samplefile.txt

Sobald Sie die Nachricht eingeben, werden die Änderungen übertragen:

C:\Users\geekflare>git commit -m 'samplemsg'
[integration_branch (root-commit) ed52dd0] 'samplemsg'
1 Dateien geändert, 24 Einfügungen( )
create mode 100644 samplefile.txt

git-Konfiguration

Gibt die Konfigurationsebene an, in die ein Eigenschaftswert geschrieben werden soll. Die Ebene ‘Local’ ist die Standardeinstellung (wenn nichts angegeben wird).

git config -local — speichert die Konfiguration im .git Verzeichnis des Repo

git config -global — speichert die Konfiguration im Heimatverzeichnis des Benutzers

git config -system — enthält die Konfiguration aller Benutzer und Repositories und befindet sich in der git config Datei des Stammverzeichnisses.

git diff

Vergleicht die Änderungen im Git Repo, was vor dem Staging, beim Staging und nach dem Staging (Commit) möglich ist.

git diff — Verfolgt die Änderungen im Projektarchiv, die noch nicht ins Staging gestellt wurden

git diff --staged — Verfolgt die Änderungen an den bereitgestellten Dateien (die nicht übertragen werden)

git diff HEAD — verfolgt die Datei-Änderungen nach dem Commit

git diff <commit1_id> <commit2_id> — verfolgt Änderungen zwischen zwei Commits; Sie können die commit_ids mit'git log -p --follow --filename‘ herausfinden

git fetch

Holen Sie einen Zweig oder das gesamte entfernte Repository

git fetch <remote-url> — holt das gesamte Repository von der URL des entfernten Repositorys

git fetch <branch_url> <branchname> — holt einen bestimmten Zweig

git fetch -all — holt alle Zweige eines entfernten Projektarchivs

git fetch origin — aktualisiert und synchronisiert das lokale Projektarchiv mit den neuen Änderungen im entfernten Projektarchiv

git fsck

DerBefehl File System ChecKprüft die Gültigkeit und Konnektivität von Datenbankobjekten. Er prüft die SHA-1ID der Objekte und die Verbindungen, die sie herstellen. Fsck ist nützlich, um verlorene Commits und Dateien wiederherzustellen.

git fsck -full

git gc

Führt eine Garbage Collection für das aktuelle Repository durch und bereinigt nicht verwendete Dateien.

git gc

git grep

Sucht nach bestimmten Inhalten im Repository. Git bietet viele Optionen, um auf unterschiedliche Weise zu suchen

git grep -i 'search_term' — Suche ohne Berücksichtigung der Groß- und Kleinschreibung [Man und man sind gleich]

git grep -f <Dateiname> — zeigt übereinstimmende Muster einer bestimmten Datei an

git grep -e 'Suchbegriff' — verwendet -e für den Mustervergleich

git grep -E 'regexp|multiple_exp' –Sucht nach regulären Ausdrücken, wir können mehrere suchen, indem wir den Pipe (OR) Operator verwenden

git grep -n 'expr' — Präfix Zeilennummer der passenden Zeile

git grep -c 'expr' — Zeigt die Anzahl der übereinstimmenden Zeilen anstelle der einzelnen Zeilen

git ls-tree

Um den Inhalt eines Baumobjekts aus dem aktuellen Verzeichnis aufzulisten.

git ls -tree -d <Pfad> — zeigt nur den angegebenen Baumeintrag an, nicht die Kinder

git ls -tree -r — rekursiert in Unterbäume

git ls -tree -l — zeigt die Größe von Datei-(Blob-)Objekten an

git ls -tree --name-only — zeigt nur die Dateinamen und nicht die lange Ausgabe an

git ls -tree --full-name — zeigt die vollständigen Pfadnamen an und nicht nur den Pfad relativ zum aktuellen Verzeichnis

Beispiel:

C:\Users\geek>git ls-tree --full-tree -r HEAD
100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt
100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js

git init

Erstellen Sie ein neues leeres Repository. Dies ist der erste Befehl, den Sie ausführen, um ein Git-Projekt zu erstellen.

git init — erstellt ein .git-Repository im Arbeitsverzeichnis,

Um zum Beispiel ein neues Repository mit dem Namen ‘geekflare’ zu erstellen, geben Sie den folgenden Befehl ein:

$ git init geekflare
Initialisiertes leeres Git-Repository in C:/Users/geek/geekflare/.git/

git instaweb

Benutzeroberfläche zum Durchsuchen des Git-Repositorys über einen Browser. Verwendet das CGI-Skript GitWeb für dasselbe.

git instaweb --httpd=webrick — startet den Server (httpd) und öffnet den Webbrowser auf der Seite.

Um den Server zu stoppen, verwenden Sie den obigen Befehl mit der Option –stop.

git log

Zeichnet jede Aktivität im Git-Repository auf.

git log — zeigt die letzten Übertragungen an

git log --oneline — zeigt die Ausgabe als die ersten 7 Zeichen von SHA und die Commit-Nachricht mit einem Commit pro Zeile an

git log stat — zeigt weitere Informationen über die geänderten Dateien an, wie die Anzahl der hinzugefügten/entfernten Zeilen, eine Zusammenfassung der insgesamt geänderten Datensätze, hinzugefügte/entfernte Zeilen

git log --patch (oder -p) — zeigt die geänderten Dateien, die spezifischen Änderungen und deren Speicherort an

git log --graph — Zeigt die Log-Ergebnisse in grafischer Form an

git log -<n> — zeigt die letzte ‘n’ Anzahl von Übertragungen an

git log --after=<date/x days/yesterday> — zeigt alle Übertragungen nach einem bestimmten Datum an. Sie können --before verwenden, um Commits vor dem angegebenen Datum anzuzeigen

git log --author=<author_name> — zeigt Commits eines bestimmten Autors (Benutzers) an.

git log --grep=<commit message> — filtert Commits anhand der Commit-Nachricht

git merge

Integriert alle Entwicklungsdateien in einen einzigen Zweig, fasst zwei Zweige zusammen und führt mehrere Übertragungen in einem einzigen Verlauf zusammen. Die Zusammenführung hält an, wenn es einen Konflikt gibt, und git präsentiert die Konfliktdateien. Sobald die Konflikte behoben sind, wird die Zusammenführung fortgesetzt.

git checkout -b — checken Sie zuerst den Zweig aus, der zusammengeführt werden soll

git hinzufügen <Datei>

git commit — Hinzufügen und Übertragen der Dateien

git checkout master

git merge — Zusammenführen der Verzweigung mit master

git prune

Löscht (Prunes) die Dateien, die aus dem aktuellen Zweig nicht erreichbar sind. Es handelt sich um einen Aufräumprozess, um nicht verwendete Dateien aus dem Zweig zu entfernen

git prune -n — löscht nicht, zeigt nur an, was gelöscht werden kann

git prune -v — zeigt die Ausgabe der vom Prune durchgeführten Aktionen an

git prune --progress — zeigt den Fortschritt des Prune-Vorgangs an

git fetch --prune — löscht alle veralteten Zweige

git pull

Es empfängt Daten von einem entfernten Server in ein Arbeits-Repository. Es aktualisiert den lokalen (Arbeits-)Zweig mit allen aktuellen Dateien aus dem entfernten Repository.

git pull — holt das entfernte Repository

git pull <repo URL> — zieht einen bestimmten entfernten Zweig

git push

Pusht alle lokalen Änderungen in das entfernte Repository. Es handelt sich um einen Upload-Vorgang, der den Befehlen pull und fetches genau entgegengesetzt ist

git checkout master — checkt den Zweig mit den neuesten Änderungen aus

git push origin master — verschiebt die Änderungen in das entfernte Repository

Beispiel:

C:\Users\geek>git checkout development_branch
Zum Zweig 'development_branch' gewechselt
C:\Users\geek>git push master development_branch
Aufzählung der Objekte: 4, erledigt.
Zähle Objekte: 100% (4/4), fertig.
Delta-Komprimierung mit bis zu 4 Threads
Komprimierung der Objekte: 100% (3/3), erledigt.
Objekte schreiben: 100% (4/4), 612 Bytes | 204.00 KiB/s, fertig.
Insgesamt 4 (delta 0), wiederverwendet 0 (delta 0), pack-reused 0
An Master
[development_branch] development_branch -> development_branch

Wir können push auch verwenden, um einen entfernten Zweig zu löschen, indem wir den Befehl git push --delete <branch> verwenden.

Zum Beispiel:

C:\Users\geek>git push master --delete development_branch
To master
[deleted] development_branch

git rebase

Kombiniert mehrere Commits aus verschiedenen Zweigen, um einen neuen endgültigen Basis-Commit zu erstellen. Nützlich vor dem Zusammenführen aller Änderungen, um Änderungen aus verschiedenen Zweigen nacheinander (linear) zu übertragen.

git rebase <Zweigname> — Kombiniert die Commits zu einer endgültigen Base

Falls es Konflikte gibt, lösen Sie diese auf und setzen Sie das rebase fort:
git rebase --continue

Um eine Änderung zu überspringen:
git rebase --skip

git remote

Überprüft die Konfiguration des entfernten Servers und erlaubt den Verbindungsaufbau zwischen dem entfernten und dem lokalen Server.

git remote — gibt standardmäßig ‘origin’ zurück, den von Git vorgegebenen Namen des entfernten Servers

git remote -v — listet Kurznamen und URLs aller verfügbaren Remote-Verbindungen auf

git remote add <Kurzname> <remote url> — fügt den Remote-Server explizit zu den verfügbaren Verbindungen hinzu. Der Kurzname kann für Git-Befehle verwendet werden, anstatt die gesamte URL anzugeben.

git remote remove <remote url/kurzer Name> — entfernt den entfernten Server aus dem Repository

git zurücksetzen

Geht zu einem früheren Commit zurück und verwirft Änderungen, die nach diesem Commit vorgenommen wurden

git reset <Hash des Commits> — stellt das Repository auf den angegebenen Commit zurück. Git behält den Commit-Verlauf bei, so dass Sie ein weiteres Reset mit einem anderen Commit (Hash) durchführen können, um ein Reset rückgängig zu machen.

git rm

Entfernt die angegebene Datei aus Git. Sie können die Wirkung von rm mit dem Befehl reset oder checkout rückgängig machen

git rm <Dateiname> — entfernt die betreffende Datei

Um Dateien aus Git zu entfernen, sie aber in Ihrem lokalen (Staging) zu behalten, verwenden Sie:

git rm --cached

git show

Zeigen Sie jedes Objekt wie Blob, Tree, Commit oder Tag an, indem Sie dessen SHA1 angeben

git show — ohne Angabe des <Objekts> zeigt die Details der letzten Übertragung auf dem Zweig an.

git show <SHA1_id> — zeigt den Inhalt des Objekts an, der durch seine SHA1-ID spezifiziert wird, z.B. Blob-ID, Tree-ID usw. Um den Typ des Objekts zu überprüfen, verwenden Sie den Befehl git cat-file -t

git show -pretty — zeigt die Ausgabe in einem hübschen Format an.

Sie können ein eigenes Format angeben:

git show --pretty = 'format:Name: <format>' Oder Sie können z.B. eines der Formate kurz, vollständig, einzeilig, mittel oder ausführlicher verwenden:

git show --pretty= 'medium' — dies zeigt den Autor, das Datum, den Titel und die vollständige Commit-Nachricht an

git show --abbrev-commit — um SHA1 abzukürzen

git stash

Um den Zweig zu wechseln, ohne im aktuellen Zweig zu committen, speichern Sie die nicht-committed Daten sicher

git stash — speichert den Arbeits- und Indexstand

git stash save <Meldung> — gibt beim Speichern eine Meldung aus

git stash list — Zeigt die Liste der gespeicherten Inhalte an

git stash apply — Überträgt die versteckten Änderungen. Um die Änderungen eines bestimmten Stashs zu übernehmen, verwenden Sie die Index-ID des Stashs zusammen mit apply

git stash show — zeigt den Inhalt der versteckten Dateien an

git stash drop — entfernt den letzten Stash aus der Warteschlange

git status

Zeigt den Status des Repositorys und des Stagings an, d.h. den Status vor der Übergabephase. Sie können diesen Befehl nach jedem anderen Git-Befehl, wie dem Hinzufügen, Aktualisieren oder Entfernen einer Datei, verwenden

git status — zeigt die Änderungen an, die übertragen werden sollen, oder nicht verfolgte (keine Staged) Änderungen

Wenn Sie zum Beispiel eine Datei mit dem Namen samplefile.txt in Ihrem Arbeitsverzeichnis hinzufügen und überprüfen möchten, ob sie hinzugefügt wurde, können Sie den obigen Befehl eingeben. Die Ausgabe sieht dann wie folgt aus:

Auf dem Zweig master
Noch keine Übertragungen
Änderungen, die übertragen werden sollen:
(verwenden Sie "git rm --cached ...", um die Übertragung aufzuheben)
neue Datei: samplefile.txt

git tag

Freundliche Verweise werden verwendet, um Meilensteine oder Referenzpunkte im Code zu kennzeichnen

git tag <tag_name> — erstellt ein Tag mit dem angegebenen Namen

git tag — listet alle verfügbaren Tags auf

git tag show <tag_name> — zeigt Details zu dem angegebenen Tag an

git tag -l ".*" — zeigt Tags an, die mit dem angegebenen Muster oder Zeichen übereinstimmen

gitk

Startet die Git-Benutzeroberfläche, die den Inhalt, die Commits, das vollständige Diff und andere Details in einem Fenster anzeigt

gitk — öffnet das Git-Projektarchiv in einem Fenster zur Visualisierung

git version

Verwenden Sie den Befehl git version, um die Version des von Ihnen verwendeten git zu überprüfen.

C:\Users\geekflare>git version
git version 2.38.0.windows.1

Letzte Worte

In diesem Beitrag haben wir die am häufigsten verwendeten Git-Befehle mit ihren Optionen aufgeführt.

Als Nächstes können Sie sich den GitHub-Anmeldescanner ansehen.

  • Schmetterlings-Gedanken
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre zum Thema Entwicklung
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder