Git – Verlauf einer Datei [duplicate]

Lesezeit: 2 Minuten

Ich habe ein Workflow-Muster, das ziemlich oft auftaucht, und ich habe mich gefragt, wie ich das in Git erreichen kann.

Ich habe eine Datei, die sich im Laufe der Zeit geändert hat. Ich habe möglicherweise eine Methode gelöscht oder auf irgendeine Weise geändert, aber jetzt ist mir klar, dass ein Teil des Codes nützlich sein könnte.

Wie kann ich den Verlauf einzelner Dateien überprüfen und diese zuvor festgeschriebene Datei auschecken und vergleichen?

  • Hast du es mal mit einem einfachen versucht git log -- <filepath>? Könnte ausreichen, je nachdem, wie komplex Ihre Suche ist.

    – Romain Waleri

    4. Dezember 2018 um 11:16 Uhr

  • Ja, ich kann das Protokoll sehen, aber ich möchte nur einen kurzen Blick auf diese Datei zum Beispiel bei Commit dea11dfddc6512c0c09eabf20622ac5f9df8c731 werfen

    – Alexander Davidson

    4. Dezember 2018 um 11:19 Uhr

  • Ach ^^ So könnte man das auch machen git checkout dea11df -- <filepath>. Stellen Sie jedoch sicher, dass Sie alle ausstehenden Änderungen an der Datei vorher festschreiben. Dann bringen Sie Ihre Datei bei Bedarf mit a wieder in ihren aktuellen Zustand git checkout -- <filepath> danach.

    – Romain Waleri

    4. Dezember 2018 um 11:23 Uhr


  • stackoverflow.com/search?q=%5Bgit-log%5D+Datei

    – promov

    4. Dezember 2018 um 15:19 Uhr

  • Beachten Sie, dass Git dies technisch gesehen nicht tut verfügen über “Dokumentenhistorie”. Es hat nur “Geschichte”, die wirklich “alle Commits” ist. Jeder Commit ist ein vollständiger Snapshot. Wenn Sie also Git nach „dem Verlauf von Datei X“ fragen, geht Git den Commit-Graph rückwärts, ein Commit-Paar nach dem anderen, und vergleicht die beiden Snapshots. Wenn Snapshot $OLDER vs. Snapshot $NEWER hat Unterschiede in X, dann verkündet Git, dass $NEWER X „geändert“ hat.

    – Torek

    4. Dezember 2018 um 16:54 Uhr

Wenn Sie sich den einfachen Verlauf der Datei ansehen möchten (dh welche Commits die Datei geändert haben):

git log (filename)

zum Beispiel git log testdir/test.py


Für den detaillierten Verlauf einer Datei (einschließlich Diff) fügen Sie -p (Abkürzung für –patch) hinzu:

git log -p (filename)
git log --patch (filename)

Zum Anzeigen von Dateiänderungen in einem Commit:

git show (SHA Hash) (filename)

Sie können eine git diff für eine bestimmte Datei: https://git-scm.com/docs/git-diff
Obwohl es viel einfacher ist, einige IDE- (IntelliJ, Eclipse usw.) oder Git-GUI-Tools (gitk, SourceTree, Gitkraken) zu verwenden, führen Sie auch den Unterschied/Vergleich zwischen Dateiversionen durch.

  • Ich habe dies auch eingegeben, Bitbucket hat auch einen sehr einfachen Datei-Diff-Watcher!

    – Wimanicesir

    4. Dezember 2018 um 11:19 Uhr

997700cookie-checkGit – Verlauf einer Datei [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy