Wenn Sie mit dem Erlernen und Verwenden von Git beginnen, werden Sie häufig auf die Situation stoßen, in der Sie Branches wechseln müssen.
Und hier könnte es für Sie etwas unübersichtlich werden. Wenn Sie nach dem Wechseln von Branches in Git suchen, werden Sie auf einige Beispiele stoßen, in denen Git Switch verwendet wird, und einige Beispiele, in denen Git Checkout verwendet wird.
Git-Checkout-Befehl | Git-Switch-Befehl | Beschreibung |
---|---|---|
git checkout my-branch | git switch my-branch | Zur Filiale my-branch wechseln |
git checkout -b my-branch | git switch -c my-branch | Erstellen und zu my-branch wechseln |
Was ist also der Unterschied zwischen Git Switch und Git Checkout? Wenn beide zum Wechseln von Zweigen verwendet werden können, warum gibt es dann zwei Befehle für denselben Zweck? Lass es mich erklären.
Unterschied zwischen git checkout und git switch
Hier ist das Ding. Git checkout ist der alte Befehl, der zum Erstellen und Wechseln von Branches verwendet wurde. Es kann auch verwendet werden, um Änderungen von einem bestimmten Commit wiederherzustellen. Aber git checkout macht mehr als das. Es erlaubt Ihnen, Dateien von jedem Zweig zu kopieren oder direkt in Ihren Arbeitsbaum zu übertragen, ohne Zweige wechseln zu müssen.
Wie Dan Fabulich anmerkt, macht git checkout drei Dinge:
- Zweige wechseln
- Dateien von der Bühne in den Arbeitsbaum kopieren
- Dateien von einem Baum in den Arbeitsbaum kopieren
Wenn du es nicht verstehst, ist das okay. Denken Sie nur daran, dass git checkout mehr als nur einen Zweigwechsel tut und die zusätzlichen Funktionalitäten anfingen, Verwirrung zu stiften.
Und daher haben die Entwickler mit der Veröffentlichung von Git 2.23 zwei neue Git-Befehle eingeführt:git switch
und git restore
.
Die Idee hinter diesem Schritt ist es, Menschen die Verwendung von git switch
zu ermöglichen zum Wechseln von Branches und git restore zum Rückgängigmachen von Änderungen aus einem Commit. Gleichzeitig git checkout
bleibt dort für erweiterte Optionen, um mit Tree-ish umzugehen.
Welches solltest du verwenden? Git checkout oder git switch?
Wenn Sie Branches wechseln müssen, verwenden Sie den Befehl git switch anstelle von git checkout. Wieso den? Weil es für diese spezielle Aufgabe geschaffen wurde. Für neue Git-Benutzer ist es einfacher, sich diesen git switch
zu merken dient zum Wechseln von Branches, git restore
dient zum Wiederherstellen eines Commits.
Daher ist es eine gute Praxis, die Funktionen zum Erstellen und Wechseln von Zweigen von git checkout durch den Befehl git switch zu ersetzen.
Ich hoffe, Sie sind sich jetzt über die Verwendung von git switch und checkout im Klaren. Wenn Sie etwas hinzuzufügen haben, verwenden Sie bitte den Kommentarbereich.