32 Spickzettel für Git-Befehle für Anfänger

Veröffentlicht: 2022-09-23

Der Spickzettel für GIT-Befehle 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 platzieren können, einschließlich Code, Zips, Text oder das gesamte Projekt.

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

Was ist GitHub?

Mit seiner übersichtlichen Benutzeroberfläche ist GitHub, ein Hub für Entwickler, zum am weitesten verbreiteten Versionskontrollsystem geworden und kann von jedem und überall aufgerufen werden.

Git-Workflow

Git hat unterschiedliche Workflows, und jedes Projekt sollte einen basierend auf seinen Anforderungen haben. Der Git-Workflow ist nichts anderes als ein einfacher, branchenbasierter Workflow, der Teams hilft, die regelmäßig Projekte bereitstellen.

Beispielsweise erstellt ein Forking-Git-Workflow eine lokale Kopie des Repositorys. Jeder Entwickler hat also einen lokalen Arbeitsbereich und ein zentrales Repository. Diese Art von Workflow ist gut, wenn mehrere Entwickler beteiligt sind, und ermöglicht es Entwicklern, an der gegabelten Kopie zusammenzuarbeiten, 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 alle Änderungen am Git-Repository müssen Entwickler die richtigen Befehle für die richtige Aktion kennen. Nachfolgend finden Sie eine Liste der wichtigsten und häufig verwendeten Git-Befehle:

Allgemeine Git-Befehle

git hinzufügen

Zum Hinzufügen der angegebenen Datei(en) zum Staging

 git add <file> -- add a specific file git add * -- add all the files

git-Archiv

Erstellt Archive von Commits, Zweigen und Bäumen und kombiniert mehrere Dateien zu einer. Sie können den Inhalt abrufen, indem Sie die Dateien bei Bedarf extrahieren

git archive HEAD — erstellt ein Archiv aus der HEAD-Ref des Repos

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

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

Git-Zweig

Listet alle Branches im Repository auf. Wenn eine Verzweigung angegeben wird, wird eine neue Verzweigung mit dem Namen erstellt. Verwenden Sie zum Löschen einer Verzweigung die Option -d mit dem Verzweigungsnamen. Um einen aktuellen Zweig umzubenennen, verwenden Sie -m.

git branch — listet alle Branches auf

git branch <branch_name > – erstellt einen neuen Branch mit dem Namen „branch_name“, checkt den neuen Branch aber nicht aus.

git branch -d <branch_name> – löscht den Branch, verhindert das Löschen, wenn nicht zusammengeführte Änderungen vorhanden sind

git branch -D <branch_name> — erzwingt das Löschen des Zweigs, selbst wenn nicht zusammengeführte Änderungen vorhanden sind

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

git cat-Datei

Anzeigen von Inhalts- oder Größen-/Typinformationen von Repository-Objekten

git cat-file <object> — zeigt Objektinhalt

git cat-file -t <object> — zeigt den Objekttyp an

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

git cat-file -p <object> — Gibt den Objekttyp auf hübsche Weise aus

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

git cat-file <type> <object> — zeigt den rohen Inhalt eines Objekts

git-Kasse

Um zwischen verschiedenen Zweigen eines Repositorys zu wechseln, verwenden Sie es mit Bedacht, da es dafür kein "Rückgängigmachen" gibt.

git checkout <branch_name> — Checkt den angegebenen Branch aus

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

Zum Beispiel:

 C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'

sauber machen

Bereinigen Sie den Arbeitsdirektor. Festgeschriebene Dateien werden nicht entfernt

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

git clean -f — entfernt die Dateien

git-Klon

Erstellen Sie eine Kopie des vorhandenen Repos in einem neuen Verzeichnis. Nützlich, um eine Entwicklungskopie eines zentralen Repos zu erhalten.

git clone <central_repo> <new_dir> — erstellt eine Kopie des zentralen Repos in einem neuen Verzeichnis

Zum Beispiel:

 C:\Users\geek>git clone geekflare master Cloning into 'master'… done.


git clone -branch <branch> <repo> — klont einen Branch aus dem erwähnten Repository

Git Commit

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

git commit – übertrage die Änderungen an das Staging

git commit -m <useful_msg> — Gibt beim Commit eine Nachricht aus, um die vorgenommenen Änderungen hervorzuheben

git commit -a — Übertrage die Änderungen direkt, ohne Staging

Angenommen, Sie haben Ihrem Arbeitsverzeichnis eine Datei namens samplefile.txt hinzugefügt und möchten die Datei festschreiben. Wenn Sie den obigen Befehl eingeben, erhalten Sie die Ausgabe:

 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt

Sobald Sie die Nachricht geben, werden die Änderungen festgeschrieben:

 C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt

git-Konfiguration

Gibt die Konfigurationsebene an, in die ein Eigenschaftswert geschrieben werden soll. Die Ebene „Lokal“ ist die Standardeinstellung (wenn nichts angegeben ist).

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

git config –global — speichert die Konfiguration im Home-Verzeichnis 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

Vergleichen Sie die Änderungen im Git-Repository, die vor dem Staging, beim Staging und nach dem Staging (Commit) vorgenommen werden können.

git diff — verfolgt Repo-Änderungen, die noch nicht bereitgestellt wurden

git diff --staged — verfolgt Änderungen von bereitgestellten Dateien (die nicht festgeschrieben sind)

git diff HEAD — verfolgt Dateiänderungen nach dem Commit

git diff <commit1_id> <commit2_id> — verfolgt Änderungen zwischen zwei Commits; du kannst die commit_ids mit ' git log -p --follow --filename ' herausfinden

git holen

Rufen Sie einen Zweig oder ein gesamtes Remote-Repository ab

git fetch <remote-url> — ruft das gesamte Repository von der Remote-Repository-URL ab

git fetch <branch_url> <branchname> — Ruft den spezifischen Branch ab

git fetch -all — holt alle Branches eines entfernten Repos

git fetch origin – aktualisiere und synchronisiere das lokale Repo mit den neuen Änderungen im Remote-Repo

git fsck

Der Befehl File System C hec K überprüft die Gültigkeit und Konnektivität von Datenbankobjekten. Es überprü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

gc

Führt die Garbage Collection im aktuellen Repository aus 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 durch Ignorieren der Groß-/Kleinschreibung [Mensch und Mensch werden gleich sein]

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

git grep -e 'search-term' — verwenden Sie -e für den Musterabgleich

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

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

git grep -c 'expr' — Zeigt die Anzahl der übereinstimmenden Zeilen anstelle jeder Zeile an

git ls-Baum

Um den Inhalt eines Baumobjekts aus dem aktuellen Verzeichnis aufzulisten.

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

git ls -tree -r — Rekursion in Teilbäume

git ls -tree -l — Zeigt die Größe von Dateiobjekten (Blobs) an

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

git ls -tree --full-name — zeigt vollständige Pfadnamen 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. Es ist der erste Befehl, den Sie ausführen, um ein Git-Projekt zu erstellen.

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

Um beispielsweise ein neues Repo namens „geekflare“ zu erstellen, geben Sie den Befehl wie folgt ein:

 $ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/

git instaweb

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

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-Protokoll

Zeichnet jede Aktivität im Git-Repository auf.

git log — zeigt die letzten Commits an

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

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

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

git log --graph — Protokollergebnisse in Diagrammform anzeigen

git log -<n> — zeigt die letzte 'n' Anzahl von Commits an

git log --after=<date/x days/yesterday> — zeigt alle Commits 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 basierend auf der Commit-Nachricht

git zusammenführen

Integriert alle Entwicklungsdateien in einen einzigen Zweig, kombiniert zwei Zweige und führt mehrere Commits zu einem einzigen Verlauf zusammen. Die Zusammenführung stoppt, wenn es einen Konflikt gibt, und git präsentiert die Konfliktdateien. Sobald die Konflikte gelöst sind, wird die Zusammenführung fortgesetzt.

git checkout -b — Checke zuerst den Branch aus, der zusammengeführt werden soll

git add <file>

git commit — füge die Dateien hinzu und übertrage sie

git checkout master

git merge — führt den Branch mit master zusammen

git prune

Löscht (Prunes) die Dateien, die vom aktuellen Zweig nicht erreichbar sind. Es ist ein Reinigungsprozess, um nicht verwendete Dateien aus dem Zweig zu entfernen

git prune -n ​​— nicht beschneiden, nur zeigen, was alles beschnitten werden kann

git prune -v — zeigt die Ausgabe der Aktionen, die von der Prune ausgeführt werden

git prune --progress — zeigt den Fortschritt der Beschneidung

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

git ziehen

Es empfängt Daten von einem entfernten Server zu einem funktionierenden Repository. Es aktualisiert den lokalen (funktionierenden) Zweig mit den neuesten Dateien aus dem Remote-Repo.

git pull — zieht das entfernte Repo

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

git push

Pusht alle lokalen Änderungen in das Remote-Repository. Es ist ein Upload-Prozess, der genau entgegengesetzt zu den Pull- und Abrufbefehlen ist

git checkout master – Checke den Branch aus, der die neuesten Änderungen enthält

git push origin master — pushe die Änderungen in das entfernte Repo

Beispiel:

 C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch

Wir können push auch verwenden, um einen Remote-Branch mit dem Befehl git push --delete <branch> zu löschen.

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 ein neues endgültiges Basis-Commit zu erstellen. Nützlich vor dem Zusammenführen aller Änderungen, um Änderungen aus verschiedenen Zweigen einzeln (linear) zu übernehmen.

git rebase <branch name> – kombiniere die Commits zu einer endgültigen Basis

Wenn es Konflikte gibt, lösen Sie sie und fahren Sie mit dem Rebase fort:
git rebase --continue

Um Änderungen zu überspringen:
git rebase --skip

git-Fernbedienung

Überprüft die Konfiguration des Remote-Servers und ermöglicht den Verbindungszugriff zwischen Remote und Lokal.

git remote – standardmäßig gibt es „origin“ zurück, den von Git vorgegebenen Standardnamen des Remote-Servers

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

git remote add <short name> <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/short name> – entfernt den Remote-Server aus dem Repository

git zurücksetzen

Gehen Sie zurück zu einem vorherigen Commit und verwerfen Sie Änderungen, die nach diesem Commit vorgenommen wurden

git reset <hash of the commit> – stellt das Repo auf den angegebenen Commit wieder her. Git behält den Commit-Verlauf bei, sodass Sie einen weiteren Reset mit einem anderen Commit (Hash) durchführen können, um einen Reset rückgängig zu machen.

git rm

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

git rm <file_ name> — Entfernt die spezifische Datei

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

git rm --cached

Git-Show

Zeigen Sie ein beliebiges Objekt wie Blob, Baum, Commit oder Tag an, indem Sie seinen SHA1 angeben

git show — ohne Angabe des <object> zeigt die Details des letzten Commits auf dem Branch.

git show <SHA1_id> – zeigt den Inhalt des Objekts an, der durch seine SHA1-ID angegeben ist, z. B. Blob-ID, Baum-ID usw. Um den Objekttyp zu überprüfen, verwenden Sie den Befehl git cat-file -t

git show –pretty – zeigt die Ausgabe in einem hübschen Format.

Sie können ein benutzerdefiniertes Format bereitstellen:

git show --pretty = 'format:Name: <format>' Oder du kannst eines der Formate short, full, one line, medium oder fuller verwenden, zum Beispiel:

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

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

git stash

Um Branches ohne Commit im aktuellen Branch zu wechseln, speichern Sie die nicht festgeschriebenen Daten sicher

git stash – speichert den Arbeits- und Indexstatus

git stash save <message> — gibt beim Speichern eine Nachricht aus

git stash list – Zeigen Sie die Liste der gespeicherten Inhalte an

git stash apply – Übertrage die gestasheden Änderungen. Um die Änderungen eines bestimmten Stashs anzuwenden, verwenden Sie die Stash-Index-ID zusammen mit apply

git stash show — Zeigt den Inhalt der versteckten Dateien an

git stash drop – entfernt den neuesten Stash aus der Warteschlange

Git-Status

Zeigen Sie den Status des Repositorys und des Staging an, dh den Status vor der Commit-Phase. Sie können diesen Befehl nach jedem anderen Git-Befehl verwenden, wie z. B. dem Hinzufügen, Aktualisieren oder Entfernen einer Datei

git status – zeigt die Änderungen an, die festgeschrieben werden sollen, oder nicht nachverfolgte (keine inszenierten) Änderungen

Wenn Sie beispielsweise eine Datei mit dem Namen samplefile.txt in Ihrem Arbeitsverzeichnis hinzufügen und prüfen, ob sie hinzugefügt wurde, können Sie den obigen Befehl eingeben. Es ergibt sich die Ausgabe wie folgt:

 On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt

git-Tag

Freundliche Referenzen werden verwendet, um Meilensteine ​​oder Referenzpunkte im Code anzuzeigen

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 des angegebenen Tags an

git tag -l “.*” — Tags anzeigen, die mit dem angegebenen Muster oder den angegebenen Zeichen übereinstimmen

gitk

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

gitk — öffnet das Git-Repo 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

Dieser Beitrag hat die am häufigsten verwendeten Git-Befehle mit ihren Optionen aufgelistet.

Als Nächstes können Sie den GitHub-Anmeldeinformationsscanner ausprobieren.