Ich habe ein Git-Repository für ein bestimmtes Projekt geklont. Kann ich die Dateien in den Ausgangszustand versetzen, und wenn ich die Dateien überprüfe, gehe ich zu Revision 2, 3, 4 ... die neueste? Ich würde gerne einen Überblick darüber haben, wie sich das Projekt entwickelt hat.
Antworten
Zu viele Anzeigen?Vor der Ausführung diesen Befehl zu verwenden, denken Sie daran, dass er Sie in Status des abgetrennten Kopfes
Utilice git checkout <sha1>
um eine bestimmte Übertragung zu überprüfen.
Où <sha1>
ist die eindeutige Commit-Nummer, die Sie mit git log
Hier sind einige Optionen, nachdem Sie den Status eines abgetrennten Kopfes erreicht haben:
- Kopieren Sie die Dateien oder nehmen Sie die Änderungen vor, die Sie benötigen, in einen Ordner außerhalb Ihres Git-Ordners und checken Sie den Zweig aus, in dem Sie sie benötigen
git checkout <existingBranch>
und Dateien ersetzen - Erstellen einer neuen Zweigstelle
git checkout -b <new_branch_name> <sha1>
Um zu einer bestimmten Version/Commit zu gelangen, führen Sie folgende Befehle aus. HASH-CODE erhalten Sie von git log --oneline -n 10
git reset --hard HASH-CODE
Hinweis - Nach dem Zurücksetzen auf eine bestimmte Version/Commit können Sie Folgendes ausführen git pull --rebase
wenn Sie alle verworfenen Übertragungen wiederherstellen wollen.
Einen grafischen Überblick über den Projektverlauf erhalten Sie mit Tools wie gitk
. Laufen Sie einfach:
gitk --all
Wenn Sie einen bestimmten Zweig auschecken möchten:
git checkout <branch name>
Für eine bestimmte Übertragung verwenden Sie den SHA1-Hash anstelle des Zweignamens. (Siehe Bäumchen im Git Community Book die eine gute Lektüre ist, um andere Optionen für die Navigation in Ihrem Baum zu sehen).
git log
verfügt über eine ganze Reihe von Optionen zur Anzeige von detaillierten oder zusammenfassenden Verlaufsdaten.
Ich kenne keine einfache Möglichkeit, die weiter in einer Commit-Historie. Projekte mit einer linearen Historie sind wahrscheinlich nicht sehr häufig. Die Idee einer "Revision" wie bei SVN oder CVS lässt sich in Git nicht so gut abbilden.
Mit dem SHA1-Schlüssel einer Übertragung können Sie Folgendes tun:
-
Suchen Sie zunächst den gewünschten Commit für eine bestimmte Datei:
git log -n <# commits> <file-name>
Dies, basierend auf Ihrer
<# commits>
wird eine Liste der Übertragungen für eine bestimmte Datei erstellt.TIPP: Wenn Sie nicht sicher sind, nach welchem Commit Sie suchen, können Sie dies mit dem folgenden Befehl herausfinden:
git diff <commit-SHA1>..HEAD <file-name>
. Dieser Befehl zeigt den Unterschied zwischen der aktuellen Version eines Commits und einer früheren Version eines Commits für eine bestimmte Datei an.HINWEIS: Der SHA1-Schlüssel einer Übertragung wird im Format
git log -n
Liste als:
übergeben.
<SHA1 id>
-
Zweitens: Wählen Sie die gewünschte Version aus:
Wenn Sie die gewünschte Übertragung/Version gefunden haben, verwenden Sie einfach den Befehl:
git checkout <desired-SHA1> <file-name>
Dadurch wird die von Ihnen angegebene Version der Datei im Staging-Bereich abgelegt. Um sie aus dem Staging-Bereich zu entfernen, verwenden Sie einfach den Befehl:
reset HEAD <file-name>
Um zu dem Ort zurückzukehren, an dem das entfernte Repository angezeigt wird, verwenden Sie einfach den Befehl: git checkout HEAD <file-name>
Um zu einem bestimmten festgelegten Code zu gelangen, Sie benötigen den Hash-Code dieser Übergabe. Sie können diesen Hash-Code auf zwei Arten erhalten:
- Holen Sie es von Ihrem Github/Gitlab/Bitbucket-Konto. ( commit_hash_code ), oder Sie können
git log
und überprüfen Sie Ihre letzten Übertragungen in diesem Zweig. Es zeigt Ihnen den Hash-Code Ihrer Übergabe und die Nachricht, die Sie während der Übergabe Ihres Codes hinterlassen haben. Kopieren Sie einfach und machen Sie danngit checkout commit_hash_code
Wenn Sie nach dem Wechsel zu diesem Code weiter daran arbeiten und Änderungen vornehmen wollen, sollten Sie einen weiteren Zweig mit git checkout -b <new-branch-name>
Ansonsten werden die Änderungen nicht übernommen.
- See previous answers
- Weitere Antworten anzeigen