Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung häufig verwendeter Befehle für Git-Operationen

Zusammenfassung häufig verwendeter Befehle für Git-Operationen

零下一度
零下一度Original
2017-07-17 15:11:171441Durchsuche

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 anzeigen

git 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 angeben

Wenn 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-name

git 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 verwenden, um Tag-Informationen anzuzeigen

Zum Beispiel git show v0.9

git tag -a v0.1 -m "version 0.1 freigegeben" 3628164 //Erstellen mit Beschreibungs-Tag, verwenden Sie -a, um den Tag-Namen anzugeben, -m, um den Beschreibungstext anzugeben

git tag -d v0.1 //Wenn das Tag falsch ist, können Sie es auch löschen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn