10 fortgeschrittene Git-Techniken – KDnuggets

10 fortgeschrittene Git-Techniken – KDnuggets

Quellknoten: 3083811

10 fortgeschrittene Git-Techniken
Bild vom Autor
 

Haben Sie sich jemals gefragt, was Sie tun können, um vor Ihrem Vorgesetzten wie ein Profi auszusehen, wenn Sie Git verwenden? In diesem Beitrag lernen wir 10 fortgeschrittene Git-Techniken und -Verknüpfungen kennen, die Sie bei der Versionierung, Wartung und Freigabe von Code effizienter machen.

Sie kennen wahrscheinlich bereits die Grundlagen des Commit, Push, Pull und Branching mit Git. Es gibt jedoch viele weniger bekannte Befehle und Funktionen, mit denen Sie Ihre Fähigkeiten verbessern können. Nachdem Sie dies gelesen haben, haben Sie ein paar clevere Tricks im Ärmel, um Kollegen mit Ihren Git-Kenntnissen zu beeindrucken.

Sie haben die Dateien auf diese Weise mehrmals hinzugefügt und festgeschrieben, aber was ist, wenn ich Ihnen sage, dass dies in einer Zeile mit dem Flag „-am“ möglich ist? 

$ git add .
$ git commit -m "new project"

 

Versuchen Sie stattdessen Folgendes: Die Dateiänderungen werden hinzugefügt und der Commit wird mithilfe der Nachricht erstellt. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

Sie können Ihre aktuelle Commit-Nachricht mit dem Flag „–amend“ umbenennen und die neue Nachricht schreiben. Dies hilft Ihnen bei versehentlichen Nachrichten.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

Sie können zusätzliche Änderungen am aktuellen Commit vornehmen, bevor Sie es in das Remote-Repository übertragen. Dazu müssen Sie die Dateiänderungen hinzufügen und dann mit dem Flag „–amend“ festschreiben. Um die vorherige Commit-Nachricht beizubehalten, verwenden Sie einfach das Flag „–no-edit“.

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

Wenn Sie ein lokales Commit pushen und den Remote-Verlauf überschreiben möchten, ohne sich um die Lösung von Problemen zu kümmern, können Sie das Flag „–force“ verwenden. Es ist jedoch wichtig zu beachten, dass die Verwendung des Force-Flags nicht empfohlen wird und nur verwendet werden sollte, wenn Sie absolut sicher sind, was Sie tun. Beachten Sie, dass durch die Verwendung des Force-Flags der Remote-Verlauf neu geschrieben wird.

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Um ein Commit in Git rückgängig zu machen, können Sie den Befehl „revert“ verwenden. Dieser Befehl entfernt jedoch keine Commits. Stattdessen wird ein neues Commit erstellt, das die durch das ursprüngliche Commit vorgenommenen Änderungen rückgängig macht.

Wir werden das „log“ mit dem Flag „–oneline“ verwenden, um den Commit-Verlauf in kürzerer Form anzuzeigen. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

Um zu einem vorherigen Commit zurückzukehren, verwenden wir den Befehl „git revert“, gefolgt von der Commit-ID. Dadurch wird ein neues Commit mit den Änderungen gegenüber dem vorherigen Commit erstellt.

$ git revert 8f184d5

Möchten Sie Ihre Produktivität auf GitHub steigern? Mit GitHub Code Spaces können Sie Ihren Code jetzt direkt in Ihrem Browser bearbeiten und ausführen. 

Um auf diese Funktion zuzugreifen, navigieren Sie einfach zu Ihrem bevorzugten Repository, drücken Sie die Punkttaste („.“) auf Ihrer Tastatur und Sie werden zur VSCode-Benutzeroberfläche weitergeleitet.

 

10 fortgeschrittene Git-Techniken
Bild vom Autor
 

Sie können Änderungen am Code vornehmen und diese in Ihr Remote-Repository übertragen. Wenn Sie den Code jedoch im Terminal ausführen möchten, müssen Sie den Codespace in der Cloud ausführen. Die kostenlose Version bietet eine hervorragende Möglichkeit, Ihren Python-Code in Ihrem Browser auszuführen. Ist das nicht großartig? Ich habe es erst heute erfahren.

 

10 fortgeschrittene Git-Techniken
Bild vom Autor

Wenn Sie an einem Projekt arbeiten, können Sie Dateien zu einem Staging-Bereich hinzufügen und sie dann festschreiben, um Ihren aktuellen Fortschritt zu speichern. Es gibt jedoch eine andere Möglichkeit, Ihre Arbeit einfach zu speichern, indem Sie den Befehl „stash“ verwenden. Wenn Sie „stash“ verwenden, speichern Sie Ihren aktuellen Fortschritt, ohne ihn zum Staging-Bereich hinzuzufügen oder festzuschreiben. Dadurch können Sie Ihren Fortschritt speichern und bei Bedarf wiederherstellen.

Wir speichern unseren aktuellen Fortschritt, indem wir einen Namen angeben und ihn speichern. 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

Sie können Ihre Stash-Liste anzeigen und den entsprechenden Index notieren, um sie abzurufen.

$ git stash list

 

stash@{0}: On master: new-idea

 

Unser Vorrat an „neuen Ideen“ wird unter Index 0 gespeichert. Um ihn abzurufen, verwenden Sie diesen Befehl:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

Sie haben die Möglichkeit, Ihren Standardzweignamen in einen passenderen Namen umzubenennen. In diesem Fall werden wir „master“ in „main“ umbenennen. 

$ git branch -M main

 

10 fortgeschrittene Git-Techniken
 

Sie können die Änderungen mit dem folgenden Befehl überprüfen: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

Wenn Sie einen detaillierten Verlauf aller im aktuellen Repository durchgeführten Commits anzeigen möchten, können Sie den Befehl „git log“ verwenden. Allerdings kann die Ausgabe schwer lesbar sein. Um die Lesbarkeit zu verbessern, können Sie die Flags „graph“, „decorate“ und „oneline“ verwenden. Dadurch werden die in mehreren Zweigen vorgenommenen Änderungen und deren Zusammenführung angezeigt.

$ git log --graph --decorate --oneline

 

10 fortgeschrittene Git-Techniken

Mehrmals bin ich zu einer neuen Filiale gewechselt und habe den Namen der vorherigen Filiale vergessen. Folglich musste ich den Befehl „git branch -a“ verwenden, um die Liste der Zweignamen anzuzeigen. Es gibt jedoch eine einfachere Möglichkeit, zum ursprünglichen Zweig zurückzukehren, indem Sie den Bindestrich „-“ nach dem Befehl „git checkout“ verwenden.

Wir werden zunächst den neuen Git-Zweig „neo“ erstellen.

$ git branch neo

 

Wir werden in den „Neo“-Zweig wechseln.

$ git checkout neo

 

Switched to branch 'neo'

 

Um zum ursprünglichen Zweig zurückzukehren, verwenden wir den folgenden Befehl:

$ git checkout -

 

Switched to branch 'main'

Wir haben gelernt, wie man das Remote-Repository überschreibt. Erfahren Sie, wie Sie das lokale Repository mithilfe des Remote-Repositorys überschreiben.

Wir werden den Befehl „fetch“ verwenden, um die neuesten Änderungen aus dem Remote-Repository abzurufen. 

$ git fetch origin

 

Anschließend verwenden wir den Befehl „reset“ mit dem Flag „hard“, um alle lokalen Änderungen mit der Remote-Version zu überschreiben. Bitte beachten Sie, dass dadurch alle lokalen Änderungen dauerhaft verworfen werden.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

Sollten noch nicht verfolgte Dateien vorhanden sein, können diese mit dem folgenden Befehl entfernt werden:

$ git clean -df

Ich wurde inspiriert, diesen Artikel zu schreiben, nachdem ich einen gesehen hatte YouTube-Video von Fireship. Ich bewundere den Autor für seine Fähigkeit, komplexe Themen auf einfache Weise zu erklären. Durch die Befolgung seiner Methode habe ich viel über Git-Funktionen gelernt.

In diesem Artikel haben wir fortgeschrittene Git-Techniken behandelt, die für Datenwissenschaftler und Softwareentwickler, die an einem kollaborativen Datenprojekt arbeiten, von entscheidender Bedeutung sind. Wenn Sie diese Techniken kennen, können Sie Unfälle vermeiden und Probleme viel schneller lösen.

Ich hoffe, Sie fanden diesen Blog nützlich. Bitte lassen Sie mich wissen, wenn Sie weitere Beiträge mit bytegroßen Informationen zu häufig verwendeten Tools in der Welt der Datenwissenschaft lesen möchten.
 
 

Abid Ali Awan (@1abidaliawan) ist ein zertifizierter Datenwissenschaftler, der es liebt, Modelle für maschinelles Lernen zu erstellen. Derzeit konzentriert er sich auf die Erstellung von Inhalten und schreibt technische Blogs zu maschinellem Lernen und Data-Science-Technologien. Abid hat einen Master-Abschluss in Technologiemanagement und einen Bachelor-Abschluss in Telekommunikationstechnik. Seine Vision ist es, ein KI-Produkt mit einem grafisch-neuronalen Netzwerk für Schüler zu entwickeln, die mit psychischen Erkrankungen zu kämpfen haben.

Zeitstempel:

Mehr von KDnuggets