GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Git-Tutorial für Fortgeschrittene

Dieser Artikel ist eine Fortsetzung meines bestehenden Artikels Erste Schritte mit GIT unter Linux. Wenn Sie neu bei Git sind, würde ich Ihnen empfehlen, zuerst meinen vorherigen Artikel durchzugehen und dann mit diesem fortzufahren.

In diesem Artikel behandeln wir das Erstellen eines Branches, Tags, das Umbenennen des Branches und das Zurücksetzen der Commits auf Git.

  1. Zweig :Verzweigungen helfen dabei, eine neue Entwicklungslinie zu erstellen, um jegliches Durcheinander im Hauptzweig zu vermeiden.
  2. Markieren :Ein Tag in Git ist ein Verweis auf den Git-Verlauf.
  3. Branch umbenennen :Das Umbenennen eines Zweigs bedeutet, den Namen des vorhandenen Zweigs zu ändern und unseren vorhandenen Code in einem Zweig mit einem neuen Namen zu haben.
  4. Rückgängig machen : Das Zurücksetzen hilft, Änderungen im lokalen und Remote-Repository rückgängig zu machen.

Voraussetzungen

  1. Grundlegendes Verständnis von Git (Klicken Sie hier, um die Grundlagen von Git zu lernen.)

Was werden wir tun?

  1. Erstellen Sie einen Zweig.
  2. Einen Zweig mit dem Hauptzweig zusammenführen.
  3. Tag erstellen.
  4. Branch umbenennen.
  5. Rückgängig machen.

Zweig erstellen

Gehen Sie zu Ihrem lokalen Repository und überprüfen Sie einfach Ihren Branch und dessen Status mit den folgenden Befehlen, bevor Sie einen neuen Branch erstellen. Hier ist test-repo mein Repository-Name.

pwd
git status
git log
git branch

Erstellen Sie einen neuen Branch in Ihrem bestehenden Repository und checken Sie ihn aus.

git branch
git branch my-feature-branch
git branch
git checkout my-feature-branch
git branch

Lassen Sie uns eine neue Datei erstellen und sie in den von uns erstellten Zweig verschieben.

ll
touch new-file-in-my-feature-branch
git status
git add new-file-in-my-feature-branch
git commit -m "created a new file in my-feature-branch"
git push
git push --set-upstream origin my-feature-branch

Füge einen Zweig mit dem Hauptzweig zusammen

Wenn wir möchten, dass unsere Änderungen im neuen Zweig im Hauptzweig zusammengeführt werden, können wir die folgenden Befehle verwenden, um diese Änderungen im gewünschten Zweig zusammenzuführen. Zuerst müssen wir zum Hauptbranch auschecken und dann den von uns erstellten Branch zusammenführen.

ll
git branch
git checkout main
ll
git merge my-feature-branch
ll

Tag erstellen

Das Erstellen eines Tags ist so einfach wie das Erstellen einer Verzweigung. Nehmen wir zunächst einige Änderungen im Repository vor und erstellen dann ein Tag. Wir müssen die Änderungen noch festschreiben, bevor wir sie in das Remote-Repo verschieben.

git tag
ll
touch new-file-for-tag
git status
git add new-file-for-tag
git tag -a mytag.v1 -m
git tag -a mytag.v1 -m "create a tag"
git tag
git log
git status
git commit -m "create a tag mytag.v1"
git push

Wir können überprüfen, welche Tags wir haben, und uns auf diese Tags festlegen. So wie wir unseren Zweig pushen, können wir auch Tags pushen.

git tag
git show mytag.v1
git push origin mytag.v1

So wie wir an einen Zweig auschecken, können wir auch an ein bestimmtes Tag auschecken.

git branch
git tag
git checkout mytag.v1
git branch

Lassen Sie uns zum Hauptzweig auschecken, bevor wir weitermachen.

git branch
git checkout main
git branch

Branch umbenennen

Manchmal haben Sie vielleicht das Gefühl, dass Sie Ihren Zweig umbenennen müssen. Sie können dies ganz einfach mit den folgenden Befehlen tun.

git branch
git branch wrong-brach
git checkout wrong-brach
touch file-in-wrong-branch
git add file-in-wrong-branch
git commit -m "Created a branch wrong-brach with a new file"
git push
git push --set-upstream origin wrong-brach
git branch
git branch --move wrong-brach correct-branch
git branch
push --set-upstream origin correct-branch

Sie können den Zweig sogar aus dem Remote-Repo löschen.

git branch
git branch -a
git push origin --delete  wrong-brach
git branch -a

Rückgängig machen

Falls Sie Ihren Commit rückgängig machen und Ihre Änderungen weiterhin lokal beibehalten möchten, können Sie die folgenden Befehle verwenden, um einen Soft-Reset durchzuführen.

git branch
git checkout main
git log
git reset --soft HEAD~1
git log

Sie können sehen, dass Ihre lokalen Änderungen nach dem Zurücksetzen des Commits immer noch verfügbar sind.

git status
git pull
git log
git status

Wenn Sie Ihren Commit zurücksetzen und Ihre Änderungen nicht lokal beibehalten möchten, können Sie die folgenden Befehle verwenden und einen Hard-Reset durchführen

git log
git reset --hard HEAD~1
git status
git log

In diesem Fall können Sie sehen, dass Sie nach dem Zurücksetzen Ihres Commits Ihre Änderungen nicht lokal haben

git status
git pull
git log

In den beiden oben genannten Szenarien haben wir gesehen, wie die lokalen Commits zurückgesetzt wurden. Manchmal müssen Sie Ihre Commits aus dem Remote-Repository zurücksetzen. Dazu müssen Sie Ihre Änderungen mit "+" als Suffix an den Zweignamen an den Zweig übertragen, nachdem Sie Ihre Änderungen lokal zurückgesetzt haben.

git branch
git log
git reset --hard HEAD~1
git push +main
git push origin  +main

Sie können sehen, dass das Remote-Repository den zurückgesetzten Commit nicht enthält.

Schlussfolgerung

In diesem Artikel haben wir Szenarien wie das Erstellen einer Verzweigung und eines Tags behandelt. Wir haben gesehen, wie ein Zweig umbenannt werden kann, wenn wir feststellen, dass wir den Namen des vorhandenen Zweigs ändern müssen. Wir haben auch gesehen, dass Commits im lokalen Repository sowie im Remote-Repository zurückgesetzt werden können. Sie können jetzt Befehle aus diesem Artikel verwenden und selbst ausprobieren.


Linux
  1. 6 erweiterte tcpdump-Formatierungsoptionen

  2. So erstellen Sie Git-Tags

  3. Git-Autovervollständigung?

  4. Wie übergibt man die Ausgabe eines Befehls als Argument an einen anderen?

  5. Überprüfen Sie, ob das lokale Git-Repo vor/hinter dem Remote liegt

Erweiterte Audiosteuerung unter Linux

So löschen Sie einen Git-Zweig remote und lokal

Wie man Git Branches erstellt, umbenennt und löscht

Shell-Scripting Schritt-für-Schritt-Tutorial

So funktioniert die Versionskontrolle mit Git auf der Kommandozeile

Unix-Sed-Tutorial:Fortgeschrittene Sed-Ersetzungsbeispiele