Ich verwende oft git log -p <file>
oder , um eine umfassende Zusammenfassung der Änderungen in einer Datei oder einem Satz von Dateien zu erhalten. Es gibt einen Verlauf der Commits aus, die sich auf die Dateien auswirken, zusammen mit einem einheitlichen Diff jedes Commits.p4 Befehlszeile entspricht "git log -p"?
Mit Perforce kann ich p4 changes <file>
oder p4 changes <directory>/...
tun, um eine Liste der Commits zu erhalten. Aber es scheint keine Option zu geben, die entsprechenden Diffs zu zeigen.
Gibt es ein Perforce-Äquivalent, das ich verwenden könnte? Wenn Shell-Skripting erforderlich ist, wäre eine voll funktionsfähige Funktion wünschenswert.
Wenn Sie wollen wissen, warum ich die Funktion vermissen, hier sind ein paar Dinge, die git log -p
mich schnell extrem tun können:
- was war die letzte
.cpp
Datei geändert werden? - Hier finden Sie alle Commits, bei denen die Zeichenfolge
FOO
zu einer Datei hinzugefügt wurde. - eine Funktion wurde gerade veraltet; Womit haben andere Entwickler es ersetzt?
- im Allgemeinen, nur wissen, was kürzlich in einem bestimmten Verzeichnis passiert ist.
Ist dies, weil Sie Ihr eigenes History-Viewing-Tool erstellen möchten? Warum nicht die Zeitrafferansicht von P4V verwenden? Wunderbares Werkzeug! Wenn Sie Ihr eigenes Werkzeug erstellen möchten, sollten Sie "Änderungen" mit "Beschreiben" kombinieren. Erfahren Sie, wie Sie den getaggten Modus für Ihre Befehle verwenden, oder untersuchen Sie eine der Perforce-Skript-APIs. –
Die Zeitansicht ist ein anständiges Werkzeug, aber es ist nur GUI. Es hat auch sehr begrenzte Suchfunktionen und unterstützt nur jeweils eine Datei. Ich füge ein paar Beispiele hinzu, was 'git log -p' mir hinsichtlich der Nützlichkeit bringt. –