Ich möchte die Commit-Protokolle für diese Open-Source-Projekte erhalten. Ich möchte den tatsächlichen Quellcode für jedes Commit, die Commit-Nachrichten, die Zeit usw. für die gesamte Dauer des Open-Source-Projekts haben. Ich möchte in der Lage sein, dies zu analysieren und ein ordentliches CSV zu erstellen. Wie kann ich auf diese Daten zugreifen?Wie Logs für Open-Source-Projekte (Lucene, HTTPClient, Jackrabbit, etc.) zu ziehen.
Antwort
git log --pretty mit einem benutzerdefinierten Format können Sie die Dinge, die Sie wollen, in einem Format extrahieren, das später leichter geparst werden könnte.
was ich aus Ihrer Beschreibung schließen kann, ist, dass Sie eine vollständige Geschichte der Commits auf diesem Zweig wollen. Sie können einfach tun:
, die Sie letzten Zusagen zusammen mit dem Datum und Autor dieses Commit zeigen würde. Wenn Sie git show {SHA1}
eines Commits ausführen, würde es Ihnen die Änderungen anzeigen, die von diesem Commit vorgenommen wurden. Wenn Sie eine git log --stat
tun, würde es Ihnen die Dateien anzeigen, die durch diese Festschreibung geändert wurden. Git Log ist ein extrem leistungsfähiges Dienstprogramm mit einer Vielzahl von Optionen. Sie können auch tun: git log --oneline --decorate --graph --pretty
zu sehen, schöne Zusammenführung von Commits.
Sie sagten, dass Sie diese Daten in einen CSV analysieren möchten. Ich hoffe, das kann Ihnen helfen:
git log --pretty=format:"%cn, %h, %cd, %s"
Ich bin eine Art Noob zu diesem. Also schauen wir uns das an: https://github.com/apache/lucene-solr, kann ich auf die git Logs über Terminal zugreifen und die Ausgabe speichern? Und diese Protokolle geben mir alle Informationen über den Quellcode zu diesem Zeitpunkt, begehen Nachrichten, Zeit usw.? –
Ja, die einfachste Sache ist, tun Sie einfach ein Git Protokoll, so dass Sie wissen müssen, den Zweig, den Sie zurückverfolgen möchten oder --all wenn Sie in allen Zweigen wollen. –
DavidN