Wie auf der GitHub-Hilfeseite erwähnt
GitHub verwendet die Open-Source- Linguist-Bibliothek , um Dateisprachen für die Syntaxhervorhebung und Repository-Statistiken zu bestimmen.
Einige Dateien sind schwer zu identifizieren, und manchmal enthalten Projekte mehr Bibliotheks- und Herstellerdateien als ihr primärer Code.
Sie müssen sich also bei erkundigen github/linguist#troubleshooting
, um diese Situation zu beheben.
Die Prozentsätze werden basierend auf den Codebytes für jede Sprache berechnet, die von der List Languages API gemeldet werden .
Wenn die Leiste eine Sprache meldet, die Sie nicht erwarten:
- Klicken Sie in der Statistikleiste auf den Namen der Sprache, um eine Liste der Dateien anzuzeigen, die als diese Sprache identifiziert wurden.
- Wenn Sie Dateien sehen, die Sie nicht geschrieben haben, sollten Sie die Dateien in einen der Pfade für den verkauften Code verschieben oder sie mithilfe der Funktion zum manuellen Überschreiben ignorieren.
- Wenn die Dateien falsch klassifiziert werden, suchen Sie nach offenen Problemen , um festzustellen, ob bereits jemand anderes das Problem gemeldet hat. Alle Informationen, die Sie hinzufügen können, insbesondere Links zu öffentlichen Repositorys, sind hilfreich.
- Wenn keine Probleme mit dieser Fehlklassifizierung gemeldet wurden, öffnen Sie ein Problem und fügen Sie einen Link zum Repository oder ein Beispiel für den Code hinzu, der falsch klassifiziert wird.
Update Februar 2017 (ein Jahr später):
Der Artikel " So ändern Sie die Repo-Sprache in GitHub " von Monica Powell
Als ich nachforschte, wie GitHub die Sprache Ihrer Projekte falsch klassifizieren kann, stellte ich fest, dass die Lösung so einfach ist, wie GitHub mitzuteilen, welche Dateien ignoriert werden sollen.
Während Sie diese Dateien weiterhin an GitHub übergeben möchten und daher keine verwenden .gitignore
können, können Sie dem Linguisten von GitHub mitteilen, welche Dateien in einer .gitattributes
Datei ignoriert werden sollen
static/* linguist-vendored
Diese einzeilige Datei wies GitHub an, alle meine Dateien in meinem static/
Ordner zu ignorieren, in dem CSS und andere Assets für eine Flask-App gespeichert sind
Der Abschnitt "Verwenden .gitattributes
" zeigt, wie falsche Sprachen markiert werden.
Zum Beispiel:
Das Überprüfen von Code, den Sie nicht geschrieben haben, wie z. B. JavaScript-Bibliotheken, in Ihr Git-Repo ist eine gängige Praxis. Dies erhöht jedoch häufig die Sprachstatistik Ihres Projekts und kann sogar dazu führen, dass Ihr Projekt als eine andere Sprache gekennzeichnet wird .
Standardmäßig behandelt Linguist alle Pfade, die vendor.yml
als verkauft definiert sind, und nimmt sie daher nicht in die Sprachstatistik für ein Repository auf.
Verwenden Sie das Attribut "Linguist Vendored" für Anbieter- oder Nicht-Anbieterpfade.
$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false