it-swarm.com.de

Github ändert das Repository in eine falsche Sprache

Ich weiß, dass dies keine große Sache ist, aber ich mag es, dass mein Github sprachlich diversifiziert ist. Ich habe in Swift ein Projekt geschrieben, und wenn ich mich dazu verpflichte, heißt es, dass es sich in Ziel C befindet. 

Ich denke, es könnte daran liegen, dass die Parse-Frameworks in Objective C geschrieben wurden und dies erkennt. Aber gibt es eine Möglichkeit, die Anzeigesprache auf der Haupt-Repository-Seite zu ändern?

42
Echizzle

Ich fand es am einfachsten, eine Datei mit dem Namen .gitattributes im Stammordner meines Repositorys zu erstellen und ihm den folgenden Inhalt zu geben:

* linguist-vendored
*.js linguist-vendored=false

In diesem Beispiel wird github/linguist angewiesen, alle Dateien zu ignorieren, und dann die .js-Dateien anzusehen. Mein Projekt https://github.com/aim12340/jQuery-Before-Ready wurde als HTML aufgelistet, da die HTML-Beispieldateien größer waren als die JS-Dateien. Diese Datei behebt es für mich und ist jetzt als JavaScript aufgeführt

58
EamonnM

Wie in der GitHub-Hilfeseite erwähnt. _

GitHub verwendet die Open Source-Bibliothek Linguist Library , um Dateisprachen für Syntaxhervorhebung und Repository-Statistiken zu ermitteln.
Einige Dateien sind schwer zu identifizieren, und manchmal enthalten Projekte mehr Bibliotheks- und Herstellerdateien als ihren Primärcode.

Sie müssen also mit github/linguist#troubleshooting nachfragen, um diese Situation zu beheben.

Die Prozentsätze werden basierend auf den Bytes des Codes für jede Sprache berechnet, wie von der List Languages ​​API gemeldet.
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 gekennzeichnet sind.
  • Wenn Sie Dateien sehen, die Sie nicht geschrieben haben, ziehen Sie in Betracht, die Dateien in einen der Pfade für verkauften Code zu verschieben, oder verwenden Sie die Funktion manuelle Überschreibungen , um sie zu ignorieren.
  • Wenn die Dateien falsch klassifiziert werden, suchen Sie nach offene Probleme , um festzustellen, ob andere Personen das Problem bereits gemeldet haben. Alle Informationen, die Sie hinzufügen können, insbesondere Links zu öffentlichen Repositorys, sind hilfreich.
  • Wenn keine gemeldeten Probleme dieser Fehlklassifizierung gemeldet werden, geben Sie ein Problem öffnen an und fügen Sie einen Link zum Repository oder ein Beispiel für den falsch klassifizierten Code hinzu.

Update Februar 2017 (ein Jahr später):

Der Artikel "ÄNDERN DER REPOSPRACHE IN GITHUB" von Monica Powell

Nachdem ich herausgefunden hatte, wie GitHub durch falsche Klassifizierung der Sprache Ihrer Projekte aufgelöst werden kann, fand ich heraus, dass die Lösung so einfach ist, wie GitHub mitzuteilen, welche Dateien ignoriert werden sollen.

Wenn Sie diese Dateien dennoch an GitHub übergeben möchten und daher keinen .gitignoreverwenden können, können Sie die Sprachdatei von GitHub angeben, welche Dateien in einer .gitattributes-Datei ignoriert werden sollen.

static/* linguist-vendored

Diese einzeilige Datei weist GitHub an, alle meine Dateien in meinem static/-Ordner zu ignorieren, in dem CSS und andere Assets für eine Flask-App gespeichert werden

Der Abschnitt "Using .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-Programm ist üblich, aber erhöht häufig die Sprachstatistiken Ihres Projekts und kann dazu führen, dass Ihr Projekt als eine andere Sprache bezeichnet wird.
Standardmäßig behandelt Linguist alle in vendor.yml definierten Pfade als vendored und nimmt sie daher nicht in die Sprachstatistik für ein Repository auf.

Verwenden Sie das Attribut "Linguist-Vendored" für Anbieter- oder Anbieter-Pfade.

$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false
45
VonC

Um es einfach zu machen, lass mich meine Schritte teilen:

  1. Wechseln Sie in das Projektstammverzeichnis.

  2. Erstellen Sie eine Datei mit dem Namen .gitattributes, und verwenden Sie dabei die gewünschten Server-Tools:

    berühren Sie .gitattributes

  3. Bearbeiten Sie die Datei, indem Sie den Anweisungen in der Bibliothek Linguist folgen, um Github mitzuteilen, wie er vorgehen soll, zum Beispiel:

    vi .gitattributes

    Mit linguist-vendored kann Github die Erkennung dieses Ordners und dieser Unterordner "überspringen":

    src/main/resources/static/* linguist-vendored

    Verwenden Sie das Attribut Linguist-Dokumentation, um Pfade als Dokumentation zu markieren oder deren Markierung aufzuheben:

    project-docs/* linguist-documentation

    ODER markieren Sie eine einzelne Datei mit Dokumentation

    documented_code.rb linguist-documentation=true

    Dies ist ein bisschen komisch, aber Sie können auch - um Github anzuweisen, einige Dateien mit einer bestimmten Erweiterung (z. B. * .rb) als Java zu behandeln:

    *.rb linguist-language=Java

  4. Git hinzufügen, festschreiben und dann zu Github schieben, das Label würde fast sofort korrigiert.

21
Bright

Ersetzen Sie Ihre .gitattributes durch diese, die all -Dateien als Java neu klassifiziert.

 *.* linguist-language=Java

linguist

1
Sumit

Sagen Sie in der .gitattributes-Datei, dass Linguist keine Dateisprachen bestimmt, die Sie nicht möchten.

Beispiel zum Ignorieren von Javascript-Dateien.

*.js linguist-vendored
0
Ramil Mammadov

Erstellen Sie eine Datei mit dem Namen .gitattributes in Ihrem Projektstammordner. Das Hinzufügen von {file_name} linguist-generated=true kann den Trick tun. In meinem Fall,

mvnw.cmd linguist-generated=true
mvnw linguist-generated=true

arbeitete für mich.

0
Sushil kumawat

Erstellen Sie die Datei .gitattributes im Stammverzeichnis Ihres Ordners. Angenommen, Sie möchten, dass die Sprache Java ist, kopieren Sie sie einfach und fügen Sie sie ein

*.Java linguist-detectable=true *.js linguist-detectable=false *.html linguist-detectable=false *.xml linguist-detectable=false

in der .gitattributes-Datei und pushen Sie die Datei in das Repository. Aktualisieren Sie Ihre GitHub-Seite, um die Sprachänderung zu sehen.

0
Saif Siddiqui

Ich hatte ein Projekt, das in Objective-C gestartet und vollständig in Swift geändert wurde (neues Projekt, aber in demselben Repository-Verzeichnis) .. Github hat es immer als Objective-C identifiziert, unabhängig davon, was ich in Gitat-Attributen eingestellt habe. (alle Lösungen oben)

Wenn also die Vorrichtung fertig ist und Sie sicher sind, dass alle Projekte eine Sprache haben, setzen Sie radikal folgende Worte: 

enter image description here

Nur das Problem behoben :)

0
Ethan Halprin

Sie können die Erkennung unerwarteter Sprachen (durch Erweiterung oder durch Projektunterordner usw.) vermeiden, indem Sie die erkennbare Option github linguist verwenden: in Ihrer .gitattributes -Datei:

In der Sprachstatistik sind nur Programmiersprachen enthalten. Sprachen eines anderen Typs (wie in languages.yml definiert) sind nicht "erkennbar", so dass sie nicht in die Sprachstatistik aufgenommen werden.

Verwenden Sie das linguist-detectable-Attribut, um Pfade als erkennbar zu markieren oder deren Markierung aufzuheben:

*.kicad_pcb linguist-detectable=true
*.sch linguist-detectable=true
tools/export_bom.py linguist-detectable=false
0
Drakonoved

Die Lösung, die vom Experten EamonnM bereitgestellt wurde, der diese Frage oben beantwortet hat, hat in meinem Projekt funktioniert, aber es gibt zwei wichtige Dinge.

  1. Die Sprache am Anfang der zweiten Zeile des Codes war die Sprache, die Sie möchten, und nicht die Sprache, die Sie nicht mögen. Denken Sie daran, es zu unterscheiden.

  2. Es scheint, dass Sie vor dem * kein Leerzeichen eingeben konnten. (Zum Beispiel sollte ich *.Swift linguist-vendored=false eingeben, wenn ich meine Sprache in Swift ändern möchte.)

0
fafa