32 Spickzettel für Git-Befehle für Anfänger
Veröffentlicht: 2022-09-23Der 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.