
Ich habe ein Projekt von Github geklont und möchte es nun auf das erste Commit zurücksetzen. Wie mache ich das? Und wenn ich wieder beim ersten Commit bin, wie gehe ich dann zum zweiten Commit und dann vom zweiten zum dritten und so weiter?
Antwort1
Sie können jede Revision auschecken, indem Sie ihre SHA1-ID angeben:
git checkout <SHA1>
Ein Hilfsskript namensgit-walk
wurde dafür entwickelt. Auch wenn Sie das explizite Skript nicht verwenden, sehen Sie sich den (sehr einfachen) Code an, um zu sehen, was getan wird.
Antwort2
Adaptiert vondie Antwort auf Was ist das Gegenteil von git diff HEAD^
?:
Um Ihnen das Leben später zu erleichtern, können Sie zunächst einen lokalen Alias einrichten, um das ursprüngliche Commit und das Kind eines bestimmten Commits zu finden (Hinweis: Dies ist nicht immer möglich, da ein DAGfunktioniert)
git config --local alias.first-sha "!git rev-list --all | tail -n 1"
git config --local alias.child-sha "!git rev-list HEAD..master | tail -n 1"
Anschließend können Sie das anfängliche Commit auschecken und den Code durchgehen, indem Sie jedes untergeordnete SHA auschecken:
git checkout $(git first-sha)
git checkout $(git child-sha)
Wenn Sie neu bei Git sind, empfehle ich Ihnen, einen Artikel zu lesen, den ich überCommits schrittweise durchlaufenHier erfahren Sie mehr über die einzelnen verwendeten Befehle
Antwort3
Versuchen Sie für alle Dateien
git show HEAD
für eine bestimmte Datei, versuchen Sie
git log -p filename