Wenn du weißt, wie Git Daten durch Blobs, Bäume und Commits speichert, macht es hoffentlich Sinn, warum es ein wenig ärgerlich ist, eine bestimmte Revision einer Datei aus deinem Repository zu holen. Was du haben möchtest, befindet sich in einem Blob in irgendeinem Commit. Einfach den Commit anzusehen, wird es also nicht bringen. Du könntest dein Arbeitsverzeichnis zu dem gewünschten Commit zurück setzen und dann in den Datei schauen, aber das ist lahm.
Wir schauen uns git show
an, ein großartiges Werkzeug für diese Aufgabe. Dieser Befehl ist ziemlich vielseitig und verdient verschiedene Tips zu seinem Können. Wir konzentrieren uns aber zunächst auf die greifbare Aufgabe: Wir möchten den Inhalt einer Datei aus einer bestimmten Revision ziehen. Gewöhnlich würde der Befehl ungefähr so aussehen:
git show <treeish>:<file>
Nehmen wir also an, wir möchten vier Commits von unserem aktuellen HEAD zurück gehen und wir möchten die Datei index.html ansehen.
git show HEAD~4:index.html
Natürlich könntest du jeden gültigen treeish an den Befehl übergeben. Er wird auch den tatsächlichen SHA1 des Blobs akzeptieren, aber das ist ziemlich unwahrscheinlich für die meisten Anwendungsfälle. Die wahrscheinlich beste Verwendung des Befehls ist zu sehen, wie die Datei aussah, und vielleicht wird ihr Inhalt in eine neue Datei geschrieben (oder die alte Datei ersetzt!), wenn das gewünscht ist.
Weitere Verwendungsmöglichkeiten dieses Befehls findest du in der Manpage. Und falls du andere nützliche Tips hast, teile sie uns mit und sende uns einen Tip!