Heim > Artikel > Backend-Entwicklung > Zusammenfassung häufig verwendeter Befehle für Git-Operationen
Zusammenfassung häufig verwendeter Befehle
1. Kehren Sie mit dem folgenden Befehl zu einem bestimmten Knoten zurück:
Git reset –hard HASH Kehren Sie zu einem bestimmten Knoten zurück, ohne ihn beizubehalten it Modifikationen wie:
Git reset –hard HASH kehrt zu einem bestimmten Knoten zurück und behält die Modifikationen bei.
2. Alle lokalen Änderungen. Alles, was nicht eingereicht wurde, wird in seinen ursprünglichen Zustand zurückversetzt.
Git-Checkout.
Git-Checkout-Repository bedeutet, dass das Repository gewechselt wird, z. B.: git checkout dev, Wechsel zum Dev-Repository
Git-Checkout-Dateiadresse, die angibt, dass die Änderung abgebrochen wird B.:Git Checkout Backend/Controller/Site
3. Sehen Sie sich das Commit-Protokoll an
Git-Protokoll
Zeigen Sie den Zweig an
Git-Zweig Ohne Parameter: Spalten Verlassen Sie den lokalen Zweig. Vor dem aktuellen Zweig steht ein *.
5. Umgang mit dem LF-Problem
Der Grund für das Problem ist die Inkonsistenz bei der Konvertierung von Leerzeichen und Zeilenumbrüchen zwischen Fenster und Linux Wie man damit umgeht:
Globale Variablen konfigurieren git config --global core.autocrlf false
Globale Variablen anzeigen git config – global –l zum Anzeigen globaler Variablen
mkdir learngit //Einen Ordner erstellen
cd learngit //Das aktuelle Verzeichnis wechseln
pwd //Zeigt den vollständigen Pfad des aktuellen an Verzeichnis
git init //Das Verzeichnis initialisieren
ls - ah //Alle Dateien im aktuellen Verzeichnis anzeigen, einschließlich versteckter Dateien
cd.>readme.txt / /Erstelle eine leere Datei
git add readme.txt //Füge die Datei zum Git-Repository hinzu
git commit -m „schrieb eine Readme-Datei“ //Sende die Datei und füge eine Beschreibung hinzu der Änderung
git status //Den Änderungsstatus der aktuellen Warehouse-Datei anzeigen
git diff // ist ein Vergleich zwischen dem Arbeitsdikt und dem Staging-Bereich (Stage)
git diff --cached // ist ein Vergleich zwischen dem Staging-Bereich (Stage) und dem Branch (Master)
Nach der Änderung des Dateiinhalts fordert Git Status Sie auf, „git add“ und/oder „ zu verwenden. git commit -a". Bitte zuerst hinzufügen und dann festschreiben. Sie können nicht direkt festschreiben
git log //Git-Übermittlungsdatensatz anzeigen, einschließlich Zeit und Detaillierte Informationen wie der Einreicher
git log - -pretty=oneline //Nur Versionsnummer und Einreichungsbeschreibung anzeigen
git reset --hard HEAD^ //Vorherige Version zurücksetzen
git reset --hard HEAD^^ // Rollback der vorherigen Version
git reset --hard HEAD~100 //Rollback der vorherigen 100 Versionen
git reset - -soft HEAD //Cache-Bereich und Arbeitsbereich nicht zurücksetzen, wenn Rollback
git reset --mixed HEAD //Cache-Bereich beim Rollback zurücksetzen, Standardoption
git reset --hard HEAD //Cache und Arbeitsbereich beim Rollback zurücksetzen
git reset //HEAD ist nicht angegeben, wird zum Löschen der Cache-Änderungen verwendet
git reset filename //Löschen Sie den Cache der angegebenen Dateiänderungen
git reset --hard //Nicht tun Geben Sie HEAD an, der zum Löschen des Arbeitsbereichs und der Cache-Änderungen verwendet wird.
git reset --hard filename //Löschen Sie den Arbeitsbereich und den Cache. Änderung der angegebenen Datei
cat readme.txt // Datei anzeigen Inhalt
Wenn Sie nach dem Zurücksetzen den Vorgang rückgängig machen möchten, gibt es zwei Möglichkeiten
1) Sie müssen die neueste Versionsnummer abrufen, ohne das ursprüngliche Terminalfenster zu schließen. Geben Sie ein die ersten paar Zahlen, zum Beispiel
git reset --hard ec6980a
2) Schließen Sie das Terminalfenster und öffnen Sie es erneut, geben Sie git reflog ein, sehen Sie sich jeden Datensatz des Vorgangs an und rufen Sie die Versionsnummer ab und Rollback
git checkout -- file // Den Arbeitsbereichsvorgang rückgängig machen, es gibt zwei Situationen: 1、Nicht Vor dem Hinzufügen zum Cache-Bereich werden die lokalen Arbeitsbereichsänderungen rückgängig gemacht 2 、Nachdem der Cache-Bereich hinzugefügt wurde, werden die zwischengespeicherten Änderungen rückgängig gemacht und die zwischengespeicherte Version wiederhergestellt
git checkout -- -- im Dateibefehl ist sehr wichtig, ohne -- wird es zu einem „Wechsel zu“. Befehl „anderer Zweig“
git checkout branch // Zweig wechseln, Cache-Bereich und Arbeitsbereich gleichzeitig zurücksetzen. Wenn der Arbeitsbereich geändert, aber nicht übermittelt wurde, ist dies erforderlich Zuerst festschreiben oder stashen
git checkout branch --force //Zweig wechseln, Cache-Bereich und Arbeitsbereich gleichzeitig zurücksetzen
git checkout --force //Zweig nicht angeben, wird zum Löschen der Arbeit verwendet. Änderung des Bereichs (der Cache-Bereich bleibt unverändert, wenn vorher ein Hinzufügen stattgefunden hat, stimmt der Arbeitsbereich mit dem Cache-Bereich überein)
git reset HEAD fileName //Sie können die Änderungen am temporären Speicherbereich rückgängig machen (unstage)
rm test.txt //Löschen Sie die Datei im Dateimanager. Bitte beachten Sie, dass die lokale Löschung dem Warehouse
git rm text entsprechen muss. txt //Löschen Sie die Remote-Warehouse-Datei und senden Sie dann Git Commit
git checkout -- test.txt // Angenommen, der lokale RM löscht die Datei versehentlich, können Sie mit dem Befehl die neueste Kopie aus dem Warehouse in die lokale Kopie kopieren und die Arbeitsbereichsversion durch die Version im Repository ersetzen , unabhängig davon, ob der Arbeitsbereich geändert oder gelöscht wurde, können Sie ihn „mit einem Klick wiederherstellen“
ssh-keygen -t rsa -C "liwenxin@foreveross.com" //Set Geben Sie die lokal verknüpften Kontoinformationen ein und drücken Sie die Eingabetaste, ohne das Kennwort direkt auf leer zu setzen.
open ~/.ssh //Mac öffnet ssh im Home-Verzeichnis
cd ~/.ssh //Wenn Sie in den vorherigen Schritten versehentlich das Passwort eingegeben haben, können Sie der folgenden Methode folgen um es auf ein leeres Passwort zurückzusetzen
ssh-keygen -p -f id_rsa //Geben Sie das alte Passwort einmal und das neue Passwort je nach Bedarf zweimal ein
git remote add origin git@github.com:gz -jam/learngit.git // Durch Ihren eigenen GitHub-Kontonamen ersetzen, lokal die Remote-Bibliothek zuordnen
git remote rm origin // Wenn die Zuordnung falsch ist oder erneut gebunden werden muss
git remote add origin git@github.com:michaelliao/learngit.git //Sie können erneut binden
git push -u origin master //Alle Inhalte von pushen Geben Sie „Bestätigen Sie die lokale Bibliothek“ in die Remote-Bibliothek ein und übertragen Sie den aktuellen Zweig „Master“ auf die Remote-Bibliothek. Als wir den Master-Zweig zum ersten Mal übertragen haben, haben wir nicht nur den Parameter „-u“ hinzugefügt Schieben Sie den Inhalt des lokalen Master-Zweigs auf den entfernten neuen Master-Zweig und verknüpfen Sie den lokalen Master-Zweig auch mit dem Remote-Master-Zweig, sodass Befehle beim Pushen oder Ziehen in Zukunft vereinfacht werden können.
git push origin master //Sie müssen -u ab dem zweiten Mal nicht mehr verwenden
git clone git@github.com:michaelliao/gitskills.git / / Klonen Sie das Remote-Repository. Git unterstützt mehrere Protokolle. Standardmäßig verwendet git:// ssh, es können jedoch auch andere Protokolle wie https verwendet werden. Zum Beispiel https://github.com/gz-jam/gitskills.git
git checkout -b dev //Erstellen Sie einen Zweig und wechseln Sie den aktuellen Zweig zu dev, was gleichbedeutend ist B. git branch dev und git checkout dev
git branch //Alle Zweige des aktuellen Projekts anzeigen, das * davor stellt den aktuell aktiven Zweig dar
git merge dev //Wird für die Zusammenführungsspezifikation verwendet. Verzweigung zum aktuellen Zweig
git branch -d dev //Nach dem Zusammenführen können Sie erwägen, überflüssige Projektzweige zu löschen
git branch -D dev //Die Zweigeinreichung Wenn die Datei nicht zusammengeführt wurde, wird angezeigt, dass sie noch nicht zusammengeführt wurde. Achten Sie auf das große D.
Wenn beide Zweige zusammengeführt wurden Übermittlungsinhalt in derselben Datei, Git kann keine „Schnellzusammenführung“ durchführen. Zu diesem Zeitpunkt müssen Sie zuerst den Git-Status ausführen =, >>>>>>> Markieren Sie den Inhalt verschiedener Zweige und fügen Sie die Datei nach der Anpassung erneut hinzu. Anschließend sendet Git Commit die Datei, um den Konflikt zu lösen
git log --graph --pretty=oneline --abbrev-commit //Sie können den Zusammenführungsstatus des Zweigs sehen
git log --graph //Mit diesem Befehl kann auch das Zweigzusammenführungsdiagramm
git merge --no-ff -m "merge with no-ff" dev //Schnellvorlaufmodus deaktivieren, Git wird während der Zusammenführung ein neues Commit generiert git stash // Die aktuellen Zweigarbeiten sind noch nicht abgeschlossen, aber Sie möchten das Lager nicht übermitteln. Sie können es zunächst mit Anweisungen speichern, um sicherzustellen, dass der Wechsel zu anderen Zweigen nicht zum Codeverlust führt git stash list //Stash-Inhalt anzeigen Es gibt zwei Wiederherstellungsmethoden. Eine besteht darin, git stash apply stash@{0} zu verwenden. Nach der Wiederherstellung wird der Stash-Inhalt jedoch nicht gelöscht Stash Drop zum Löschen; eine andere Möglichkeit ist die Verwendung von Git Stash Pop, das den Stash-Inhalt löscht, während git remote //Informationen der Remote-Bibliothek anzeigen git remote -v //Detailliertere Informationen anzeigengit push origin master //Das Pushen eines Zweigs bedeutet das Pushen aller lokalen Übermittlungen im Zweig an die Remote-Bibliothek. Beim Pushen müssen Sie den lokalen Zweig angebenWenn der neu erstellte Zweig lokal nicht auf die Fernbedienung übertragen wird, ist er für andere nicht sichtbar Um den Zweig lokal zu übertragen, verwenden Sie git push origin branch-namegit checkout -b dev origin/dev //Erstellt den Dev-Zweig des Remote-Ursprungs zum lokalen, dem Standard-Zweigmaster git push //Wenn ein Konflikt auftritt, git ruft zuerst den Code ab git pull //Wenn es fehlschlägt, wird „keine Tracking-Informationen“ angezeigt. Der Grund kann sein, dass die Verbindung zwischen dem lokalen Entwicklungszweig und dem Remote-Ursprungs-/Entwicklungszweig nicht angegeben ist git branch --set-upstream-to=origin/dev dev //Legen Sie die Verknüpfung zwischen dev und origin/dev fest Bei der Zusammenführung liegt ein Konflikt vor, der manuell gelöst werden muss. Die Lösung lautet wie folgt Wie zuvor erwähnt, Git-Status, dann manuell reparieren, dann Git hinzufügen und Git-Commit und schließlich Git Push git tag v1.0 // Die Commit-Nummer ist zu lang, um sie sich zu merken kann es auf dem Zweig markieren git tag v0.9 6224937 //Auf dem Zweig Markieren Sie die angegebene Commit-Nummer Die Tags werden nicht in chronologischer Reihenfolge, sondern in alphabetischer Reihenfolge aufgelistet. Sie können git show
Die erstellten Tags werden nur lokal gespeichert und nicht automatisch an die Fernbedienung übertragen. Wenn Sie ein Tag auf die Fernbedienung übertragen möchten, verwenden Sie den Befehl git push origin
Zum Beispiel: git push origin v1.0
Oder übertragen Sie alle lokalen Dateien darauf wurden nicht sofort auf die Fernbedienung übertragen. Tags
Zum Beispiel: git push origin --tags
Wenn das Tag auf die Fernbedienung übertragen wurde, ist das Löschen etwas schwieriger Remote-Tag. Zuerst lokal löschen, dann git tag -d v0.9; Der Löschbefehl ist ebenfalls Push, aber das Format ist wie folgt: git push origin :refs/tags/v0.9 oder git push origin --delete tag v0.9
Das obige ist der detaillierte Inhalt vonZusammenfassung häufig verwendeter Befehle für Git-Operationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!