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!
Für Entwickler ist es leicht, Tools blind zu verwenden und nicht zu wissen, wie sie unter der Haube funktionieren. Obwohl diese Abstraktionen zum Besseren sind, kann das Wissen, wie die Dinge funktionieren, manchmal den Unterschied zwischen einem erfahrenen 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 sich im linken Bereich der Ausgabe zwei Spalten befinden. 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! Mit der Git-Version 2.23.0 wurde Git Restore eingeführt, 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 das Abrufen 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:
It's also common to add a last command to see your most recent commit:
$ git config --global alias.last 'log -1 HEAD'
That's all for this blog! I hope you learned a few neat tricks for your next project with Git that will improve the quality of your workflow. Thanks for reading!
Das obige ist der detaillierte Inhalt vonKennst du Git wirklich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!