Git Checkout (Deutsch)

Diese Seite ist eine Untersuchung des Befehls git checkout. Es werden Anwendungsbeispiele und Randfälle behandelt. In Git-Begriffen bedeutet „Auschecken“ das Umschalten zwischen verschiedenen Versionen einer Zielentität. Der Befehl git checkout verarbeitet drei verschiedene Entitäten: Dateien, Commits und Zweige. Zusätzlich zur Definition von „Auschecken“ wird der Ausdruck „Auschecken“ üblicherweise verwendet, um die Ausführung des Befehls git checkout zu implizieren. Im Thema „Änderungen rückgängig machen“ haben wir gesehen, wie git checkout zum Anzeigen alter Commits verwendet werden kann. Der Schwerpunkt des größten Teils dieses Dokuments liegt auf dem Auschecken von Zweigen.

Das Auschecken von Zweigen ähnelt dem Auschecken alter Commits und Dateien, da das Arbeitsverzeichnis aktualisiert wird, um mit dem ausgewählten Zweig / der ausgewählten Revision übereinzustimmen. Neue Änderungen werden jedoch im Projektverlauf gespeichert, dh es handelt sich nicht um eine schreibgeschützte Operation.

Auschecken von Zweigen

Die git checkout können Sie zwischen den Zweigen navigieren, die von git branch erstellt wurden. Durch das Auschecken eines Zweigs werden die Dateien im Arbeitsverzeichnis so aktualisiert, dass sie mit der in diesem Zweig gespeicherten Version übereinstimmen, und Git wird angewiesen, alle neuen Commits in diesem Zweig aufzuzeichnen. Stellen Sie sich das als eine Möglichkeit vor, auszuwählen, an welcher Entwicklungslinie Sie arbeiten.

Ein dedizierter Zweig für jede neue Funktion ist eine dramatische Veränderung gegenüber einem herkömmlichen SVN-Workflow. Es macht es lächerlich einfach, neue Experimente auszuprobieren, ohne befürchten zu müssen, vorhandene Funktionen zu zerstören, und es ermöglicht, gleichzeitig an vielen nicht verwandten Funktionen zu arbeiten. Darüber hinaus erleichtern Verzweigungen auch mehrere kollaborative Workflows.

Der Befehl git checkout kann gelegentlich mit git clone verwechselt werden. Der Unterschied zwischen den beiden Befehlen besteht darin, dass der Klon Code aus einem Remote-Repository abruft. Alternativ kann beim Auschecken zwischen Codeversionen gewechselt werden, die sich bereits auf dem lokalen System befinden.

Verwendung: Vorhandene Zweige

Angenommen, das Repo, in dem Sie arbeiten, enthält bereits vorhandene Zweige, können Sie mit git checkout zwischen diesen Zweigen wechseln. Um herauszufinden, welche Zweige verfügbar sind und wie der aktuelle Zweigname lautet, Führen Sie git branch aus.

 

Das obige Beispiel zeigt, wie eine Liste verfügbarer Zweige durch Ausführen von git branch Befehl und wechseln Sie zu einem angegebenen Zweig, in diesem Fall dem feature_inprogress_branch.

Neue Zweige

Git checkout arbeitet Hand in Hand mit git branch. Der Befehl git branch kann wird verwendet, um einen neuen Zweig zu erstellen. Wenn Sie eine neue Funktion starten möchten, erstellen Sie einen neuen Zweig aus mit git branch new_branch. Nach der Erstellung können Sie mit git checkout new_branch zu diesem Zweig wechseln. Darüber hinaus akzeptiert der Befehl git checkout ein -b -Argument, das als praktische Methode dient, mit der der neue Zweig erstellt und sofort zu diesem gewechselt wird. Sie können mehrere Features in einem einzigen Repository bearbeiten, indem Sie mit git checkout zwischen ihnen wechseln.

Das obige Beispiel erstellt und checkt gleichzeitig aus. Die Option -b ist ein Convenience-Flag, das Git anweist, git branch auszuführen, bevor git checkout ausgeführt wird.

Standardmäßig basiert git checkout -b die new-branch auf der aktuelle HEAD. Ein optionaler zusätzlicher Verzweigungsparameter kann an git checkout übergeben werden. Im obigen Beispiel wird übergeben, wodurch new-branch von existing-branch anstelle von existing-branch abgeleitet wird Die aktuelle HEAD.

Verzweigung von Zweigen

Das Wechseln von Zweigen ist ein unkomplizierter Vorgang. Wenn Sie Folgendes ausführen, zeigt HEAD auf die Spitze von .

Git verfolgt einen Verlauf der Checkout-Vorgänge im Reflog. Sie können git reflog ausführen, um den Verlauf anzuzeigen.

Git Checkout eines Remote-Zweigs

Bei der Zusammenarbeit mit einem Team wird häufig Remote verwendet Repositories. Diese Repositorys können gehostet und gemeinsam genutzt werden oder es kann sich um die lokale Kopie eines anderen Kollegen handeln. Jedes Remote-Repository enthält einen eigenen Satz von Zweigen. Um einen Remote-Zweig auszuchecken, müssen Sie zuerst den Inhalt des Zweigs abrufen. P. >

In modernen Versionen von Git können Sie den Remote-Zweig dann wie einen lokalen Zweig auschecken.

Ältere Versionen von Git erfordern die Erstellung eines neuen Zweigs basierend auf remote.

Zusätzlich können Sie einen neuen lokalen Zweig auschecken und auf den letzten Commit der Remote-Zweige zurücksetzen.

 

Abgelöste KÖPFE

Nachdem wir nun die drei Hauptverwendungen von git checkout für Zweige gesehen haben, ist es wichtig, das "detached HEAD” -Status. Denken Sie daran, dass die HEAD Git-Methode ist, auf den aktuellen Snapshot zu verweisen. Intern ist die git checkout aktualisiert einfach die HEAD, um entweder auf den angegebenen Zweig oder das Festschreiben zu verweisen. Wenn er auf einen Zweig zeigt, beschwert sich Git nicht, aber wenn Sie ein Festschreiben auschecken, ist dies der Fall wechselt in den Status "detached HEAD”.

Dies ist eine Warnung, die Sie darüber informiert, dass alles, was Sie tun, vom Rest der Projektentwicklung „getrennt“ ist Wenn Sie mit der Entwicklung eines Features beginnen würden, während Sie sich in einem getrennten HEAD -Zustand befinden, würde es keinen Zweig geben, der es Ihnen ermöglicht, t zurückzugewinnen o es. Wenn Sie unweigerlich einen anderen Zweig auschecken (z. B. um Ihr Feature zusammenzuführen), gibt es keine Möglichkeit, auf Ihr Feature zu verweisen:

Der Punkt ist: Ihre Entwicklung sollte immer auf einem Zweig stattfinden – niemals auf einem getrennten HEAD. Dies stellt sicher, dass Sie immer einen Verweis auf Ihre neuen Commits haben. Wenn Sie sich jedoch nur ein altes Commit ansehen, spielt es keine Rolle, ob Sie sich in einem getrennten HEAD -Status befinden oder nicht.

Zusammenfassung

Diese Seite konzentrierte sich auf die Verwendung des Befehls git checkout beim Ändern von Zweigen. Zusammenfassend ändert git checkout bei Verwendung für Zweige das Ziel der HEAD ref. Es kann verwendet werden, um Zweige zu erstellen, Zweige zu wechseln und entfernte Zweige auszuchecken. Der Befehl git checkout ist ein wesentliches Werkzeug für den Standard-Git-Betrieb. Es ist ein Gegenstück zu git merge. Die Befehle git checkout und git merge sind wichtige Werkzeuge zum Aktivieren von git workflows.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.