web-dev-qa-db-ja.com

Githubはリポジトリを間違った言語に変更します

これは大した問題ではないことはわかっていますが、Githubが言語的に多様化されているのが好きです。プロジェクトをSwiftで作成しましたが、コミットすると、Objective Cにあると表示されます。

ParseフレームワークはObjective Cで記述されており、それを検出したためと思われますが、メインリポジトリページの表示言語を変更する方法はありますか?

71
Echizzle

最も簡単なのは、リポジトリのルートフォルダーに.gitattributesというファイルを作成し、次のコンテンツを提供することでした。

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

この例では、github/linguistにすべてのファイルを無視して、.jsファイルだけを見るように指示しています。私のプロジェクト https://github.com/aim12340/jQuery-Before-Ready は、HTMLサンプルファイルがJSファイルよりも大きいため、HTMLとしてリストされました。このファイルは私のためにそれを修正し、今ではJavaScriptとしてリストされています

86
EamonnM

GitHubヘルプページ で述べたように

GitHubは、オープンソース Linguistライブラリ を使用して、構文の強調表示とリポジトリ統計のファイル言語を決定します。

この状況を修正するには、 github/linguist#troubleshooting で確認する必要があります。

割合は、 List Languages API によって報告される各言語のコードのバイトに基づいて計算されます。
バーが予期しない言語を報告している場合:

  • 統計バーで言語の名前をクリックして、その言語として識別されているファイルのリストを表示します。
  • 書いていないファイルが表示される場合は、ファイルを ベンダーコードのパス のいずれかに移動するか、 手動オーバーライド機能 を使用してそれらを無視することを検討してください。
  • ファイルが誤分類されている場合は、 未解決の問題 を検索して、他の誰かが既に問題を報告しているかどうかを確認します。追加できる情報、特に公開リポジトリへのリンクは役立ちます。
  • この誤分類の問題が報告されていない場合は、 問題を開く に、リポジトリへのリンクまたは誤分類されているコードのサンプルを含めます。

2017年2月の更新(1年後):

記事「GitHubでリポジトリ言語を変更する方法モニカ・パウエル

GitHubがプロジェクトの言語を誤って分類する問題を解決する方法を調査した結果、どのファイルを無視するかをGitHubに伝えるのと同じくらい簡単であることがわかりました。

これらのファイルをまだGitHubにコミットするため、.gitignoreを使用することはできませんが、GitHubの言語学者に.gitattributesファイルで無視するファイルを指示できます

static/* linguist-vendored

この1行のファイルは、CSSおよびその他のアセットがFlaskアプリ用に保存されているstatic/フォルダー内のすべてのファイルを無視するようGitHubに指示しました

".gitattributesの使用"セクション は、間違った言語をマークする方法を示しています。
例えば:

JavaScriptライブラリなど、あなたが書いていないコードをgitリポジトリにチェックすることは一般的な習慣ですが、これはしばしばプロジェクトの言語統計を膨らませ、プロジェクトが別のラベルを付けられることさえあります言語
デフォルトでは、Linguistはvendor.ymlで定義されたすべてのパスをベンダーとして処理するため、リポジトリの言語統計にそれらを含めません。

言語ベンダーの属性を使用して、ベンダーまたは非ベンダーのパスを指定します。

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

簡単にするために、手順を共有しましょう。

  1. ディレクトリをプロジェクトのルートフォルダーに変更します。

  2. 選択したwhaterverツールを使用して、.gitattributesという名前のファイルを作成します。

    touch .gitattributes

  3. Linguist library の指示に従ってファイルを編集し、Githubに実行方法を指示します。例:

    vi .gitattributes

    Linguist-vendoredを使用すると、Githubでこのフォルダーとサブフォルダーの検出を「スキップ」できます。

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

    Linguist-documentation属性を使用して、パスをドキュメントとしてマークまたはマーク解除します。

    project-docs/* linguist-documentation

    または、ドキュメントを含む個々のファイルにマークを付けます

    documented_code.rb linguist-documentation=true

    これは少し奇妙ですが、特定の拡張子(たとえば* .rb)を持つファイルをJavaとして扱うようにGithubに指示することもできます:

    *.rb linguist-language=Java

  4. Gitを追加、コミットしてからGithubにプッシュすると、ラベルはほぼすぐに修正されます。

26
Bright

.gitattributesをこれに置き換えます。これにより、allファイルがJavaとして再分類されます。

 *.* linguist-language=Java

言語学者

8
Sumit

.gitattributesファイルで、Linguistに不要なファイル言語を判断しないように指示します。

JavaScriptファイルを無視する例。

*.js linguist-vendored
1
Ramil Mammadov

Objective-Cで開始され、Swiftに完全に変更されたプロジェクトがありました(新しいプロジェクトですが、同じリポジトリディレクトリにあります)。 Githubは、gitattributesに何を入れても、Objective-Cとして識別し続けました。 (上記のすべてのソリューション)

そのため、ジグが起動し、すべてのプロジェクトが1つの言語であると確信している場合、徹底的に次のように記述します。

enter image description here

それだけが問題を修正しました:)

1
Ethan Halprin

github linguist検出可能オプション:を使用して、予期しない言語の検出(拡張機能、またはプロジェクトサブフォルダーなど)を回避できます。 。gitattributesファイル:

言語統計にはプログラミング言語のみが含まれます。異なるタイプの言語( languages.yml で定義されている)は「検出可能」ではないため、言語統計に含まれません。

linguist-detectable属性を使用して、パスを検出可能としてマークまたはマーク解除します。

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

プロジェクトのルートフォルダーに.gitattributesという名前のファイルを作成します。 {file_name} linguist-generated=trueを追加すると、トリックを実行できます。私の場合、

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

私のために働いた。

0
Sushil kumawat

フォルダーのルートに.gitattributesファイルを作成します。言語をJavaにしたい場合は、コピーアンドペーストするだけです

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

.gitattributesファイルでrepo.Refreshにファイルをプッシュし、GitHubページを更新して言語の変更を確認します。

0
Saif Siddiqui

上記の質問に答えた専門家EamonnMによって提供されたソリューションは私のプロジェクトで機能しましたが、2つの重要なことがあります。

  1. 彼のコードの2行目の最初の言語は、嫌いな言語ではなく、あなたが望む言語でした。それを区別することを忘れないでください。

  2. *の前にスペースを入力できなかったようです。 (たとえば、言語をSwiftに変更する場合は、*.Swift linguist-vendored=falseと入力する必要があります。)

0
fafa