888 Stimmen

Können Sie die Anzahl der Codezeilen aus einem GitHub-Repository abrufen?

In einem GitHub-Repository können Sie "Sprachstatistiken" sehen, die den Prozentsatz des Projekts anzeigen, der in einer Sprache geschrieben ist. Es zeigt jedoch nicht an, wie viele Zeilen Code das Projekt umfasst. Oft möchte ich schnell einen Eindruck von der Größe und Komplexität eines Projekts bekommen, und die Anzahl der Codezeilen kann einen guten ersten Eindruck vermitteln. 500 Codezeilen implizieren ein relativ einfaches Projekt, 100.000 Codezeilen implizieren ein sehr großes/kompliziertes Projekt.

Also, ist es möglich, die in verschiedenen Sprachen geschriebenen Codezeilen aus einem GitHub-Repository zu erhalten, am besten ohne es zu klonen?


Die Frage "Anzahl der Zeilen in einem Git-Repository zählen" fragt, wie man die Codezeilen in einem lokalen Git-Repository zählt, aber:

  1. Sie müssen das Projekt klonen, was riesig sein könnte. Das Klonen eines Projekts wie Wine dauert beispielsweise eine Ewigkeit.
  2. Sie würden Zeilen in Dateien zählen, die nicht unbedingt Code enthalten, wie z.B. 13n-Dateien.
  3. Wenn Sie z.B. nur Ruby-Dateien zählen würden, könnten Sie eine massive Menge an Code in anderen Sprachen wie JavaScript verpassen. Sie müssten im Voraus wissen, welche Sprachen das Projekt verwendet. Sie müssten auch die Zählung für jede Sprache wiederholen, die das Projekt verwendet.

Alles in allem ist dies möglicherweise viel zu zeitaufwändig, um "schnell die Größe eines Projekts zu überprüfen".

49voto

Hubro Punkte 52122

Derzeit nicht möglich auf Github.com oder deren API-s

Ich habe mit dem Kundensupport gesprochen und bestätigt bekommen, dass dies auf github.com nicht möglich ist. Sie haben den Vorschlag jedoch an das Github-Team weitergeleitet, also hoffentlich wird es in Zukunft möglich sein. Wenn ja, werde ich sicherstellen, diese Antwort zu bearbeiten.

In der Zwischenzeit ist Rory O'Kanes Antwort eine brillante Alternative, basierend auf cloc und einem flachen Repo-Clone.

42voto

Karbos 538 Punkte 2797

Aus dem Kommentar von @Tgr gibt es ein Online-Tool : https://codetabs.com/count-loc/count-loc-online.html

Beispiel für LOC-Zählung für das strimzi/strimzi-kafka-operator Repository

25voto

Gorka Punkte 1921

Du kannst tokei verwenden:

cargo install tokei
git clone --depth 1 https://github.com/XAMPPRocky/tokei
tokei tokei/

Ergebnis:

===============================================================================
 Sprache              Dateien        Zeilen        Code      Kommentare      Leerzeilen
===============================================================================
 BASH                    4           48           30           10            8
 JSON                    1         1430         1430            0            0
 Shell                   1           49           38            1           10
 TOML                    2           78           65            4            9
-------------------------------------------------------------------------------
 Markdown                4         1410            0         1121          289
 |- JSON                 1           41           41            0            0
 |- Rust                 1           47           38            5            4
 |- Shell                1           19           16            0            3
 (Gesamt)                          1517           95         1126          296
-------------------------------------------------------------------------------
 Rust                   19         3750         3123          119          508
 |- Markdown            12          358            5          302           51
 (Gesamt)                          4108         3128          421          559
===============================================================================
 Gesamt                  31         6765         4686         1255          824
===============================================================================

Tokei unterstützt Badges:

Zeilen zählen

[![](https://tokei.rs/b1/github/XAMPPRocky/tokei)](https://github.com/XAMPPRocky/tokei)

Standardmäßig zeigt das Badge die LoC (Lines of Code) des Repositorys an. Du kannst auch angeben, dass es eine andere Kategorie anzeigen soll, indem du den ?category= Query-String verwendest. Es kann entweder code, blanks, files, lines oder comments sein.

Dateien zählen

[![](https://tokei.rs/b1/github/XAMPPRocky/tokei?category=files)](https://github.com/XAMPPRocky/tokei)

17voto

Paul M Sorauer Punkte 499

Hey alles, das ist lächerlich einfach...

  1. Erstellen Sie einen neuen Branch von Ihrem ersten Commit
  2. Wenn Sie Ihre Statistiken herausfinden möchten, erstellen Sie einen neuen PR von main
  3. Der PR zeigt Ihnen die Anzahl der geänderten Zeilen - da Sie einen PR vom ersten Commit aus erstellen, wird Ihr gesamter Code als neue Zeilen gezählt

Und der zusätzliche Vorteil ist, dass, wenn Sie den PR nicht genehmigen und einfach an Ort und Stelle lassen, die Statistiken (Anzahl der Commits, geänderten Dateien und Gesamtanzahl der Codezeilen) einfach aktuell bleiben, wenn Sie Änderungen in main zusammenführen. :) Viel Spaß.

enter image description here

14voto

ishandutta2007 Punkte 14498

Öffnen Sie das Terminal und führen Sie folgendes aus:

curl -L "https://api.codetabs.com/v1/loc?github=username/reponame"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X