Bilder in diesem Blog stammen von „Pro Git“ von Scott Chacon, Ben Straub
In diesem Blog erfahren Sie jede Menge nette Fakten über einige der alltäglichen Funktionen in Git, die Sie beim Programmieren verwenden!
Es ist für Entwickler leicht, Tools blind zu verwenden und nicht zu wissen, wie sie unter der Haube funktionieren. Auch wenn diese Abstraktionen von Vorteil sind, kann das Wissen, wie die Dinge funktionieren, manchmal den Unterschied zwischen einem erfahrenen Programmierer und einem Amateurprogrammierer ausmachen.
Lassen Sie uns in ein paar coole Fakten eintauchen!
Wenn Sie Git schon länger verwenden, sollten Sie über den Git-Status Bescheid wissen. Wussten Sie jedoch, dass es eine Option gibt, eine besser lesbare und minimale Statusausgabe zu erhalten?
Durch die Verwendung des kurzen Statusflags -s erhalten Sie ein kompakteres Format.
$ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb ?? LICENSE.txt
Sie werden feststellen, dass es im linken Bereich der Ausgabe zwei Spalten gibt. Die linke Spalte stellt den Status des Staging-Bereichs dar, während die rechte Spalte den Status des Arbeitsbaums darstellt. Die chronologische Reihenfolge der Aktionen wird ebenfalls von links nach rechts dargestellt.
Lassen Sie uns die obige Ausgabe interpretieren:
Was ist, wenn Sie Ihre verfolgten Dateien bereitstellen und alles in einem Befehl festschreiben möchten?
Sie können dies tun, indem Sie git commit -a -m "message" verwenden.
Beachten Sie, dass nicht verfolgte Dateien (neu erstellte Dateien) mit diesem magischen Befehl leider nicht bereitgestellt werden.
Verwenden Sie git log, um die in Ihrem Repository vorgenommenen Commits in umgekehrter chronologischer Reihenfolge aufzulisten (die neuesten Commits werden zuerst angezeigt).
Es gibt verschiedene Optionen, mit denen Sie die Ausgabe anpassen können. Gehen wir einige nützliche durch:
Wenn Sie die Bereitstellung einer Datei aufheben möchten, verwenden Sie git reset HEAD . Wenn Sie die Änderung einer geänderten Datei rückgängig machen möchten, verwenden Sie git checkout -- {file}.
Jetzt gibt es eine einfachere Möglichkeit, beides zu tun! Git-Version 2.23.0 führte Git Restore ein, das eine 2-in-1-Funktion zum Deaktivieren und Ändern von Dateien bietet.
Höchstwahrscheinlich haben Sie git pull mindestens einmal als Programmierer verwendet. Darüber hinaus haben Sie höchstwahrscheinlich schon von git fetch gehört, hatten aber nie wirklich das Bedürfnis, es zu verwenden. Nun, lasst uns darüber reden, was es eigentlich macht und wie es sich von Git Pull unterscheidet.
Sie können sich fetch nur als den ersten Schritt dessen vorstellen, was innerhalb eines Pulls passiert.
In einem Pull laden wir alle Daten aus dem Remote-Repository herunter und übertragen sie auf das lokale Repository. Dies ist, was ein Abruf bewirkt.
Zu diesem Zeitpunkt verfügt Ihr lokales Repository über die Daten, hat sie jedoch noch nicht mit dem Arbeitsverzeichnis zusammengeführt, sodass Sie an den neuesten Änderungen arbeiten können. Der nächste Schritt innerhalb eines Pulls ist eine Zusammenführung mit Ihrem Zweig, sodass sich die neuesten Änderungen dann in Ihrem Arbeitsverzeichnis befinden.
Bei einem Pull werden also alle Daten auf einmal abgerufen und zusammengeführt, während bei einem Fetch nur der erste Schritt ausgeführt wird.
Was wäre, wenn ich Ihnen sagen würde, dass es eine Möglichkeit gibt, Ihre Git-Befehle anpassbar zu machen? Über die git config können Sie das!
Sie können Aliase für häufig verwendete Befehle wie folgt festlegen:
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status
Anstatt git commit einzugeben, müssen Sie jetzt nur noch git ci eingeben.
Dies ist besonders nützlich für Befehle, die dabei helfen, eine bestimmte Aufgabe intuitiver zu gestalten.
$ git config --global alias.unstage 'reset HEAD --' # the double dash serves as an option separator. # It tells Git to treat anything after it as a filename
Der obige Befehl macht die folgenden Befehle äquivalent:
Es ist auch üblich, einen letzten-Befehl hinzuzufügen, um Ihren letzten Commit anzuzeigen:
$ git config --global alias.last 'log -1 HEAD'
Das ist alles für diesen Blog! Ich hoffe, Sie haben für Ihr nächstes Projekt mit Git ein paar nette Tricks gelernt, die die Qualität Ihres Workflows verbessern. Danke fürs Lesen!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3