これは大した問題ではないことはわかっていますが、Githubが言語的に多様化されているのが好きです。プロジェクトをSwiftで作成しましたが、コミットすると、Objective Cにあると表示されます。
ParseフレームワークはObjective Cで記述されており、それを検出したためと思われますが、メインリポジトリページの表示言語を変更する方法はありますか?
最も簡単なのは、リポジトリのルートフォルダーに.gitattributesというファイルを作成し、次のコンテンツを提供することでした。
* linguist-vendored
*.js linguist-vendored=false
この例では、github/linguistにすべてのファイルを無視して、.jsファイルだけを見るように指示しています。私のプロジェクト https://github.com/aim12340/jQuery-Before-Ready は、HTMLサンプルファイルがJSファイルよりも大きいため、HTMLとしてリストされました。このファイルは私のためにそれを修正し、今ではJavaScriptとしてリストされています
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
簡単にするために、手順を共有しましょう。
ディレクトリをプロジェクトのルートフォルダーに変更します。
選択したwhaterverツールを使用して、.gitattributesという名前のファイルを作成します。
touch .gitattributes
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
Gitを追加、コミットしてからGithubにプッシュすると、ラベルはほぼすぐに修正されます。
.gitattributesファイルで、Linguistに不要なファイル言語を判断しないように指示します。
JavaScriptファイルを無視する例。
*.js linguist-vendored
Objective-Cで開始され、Swiftに完全に変更されたプロジェクトがありました(新しいプロジェクトですが、同じリポジトリディレクトリにあります)。 Githubは、gitattributesに何を入れても、Objective-Cとして識別し続けました。 (上記のすべてのソリューション)
そのため、ジグが起動し、すべてのプロジェクトが1つの言語であると確信している場合、徹底的に次のように記述します。
それだけが問題を修正しました:)
github linguist検出可能オプション:を使用して、予期しない言語の検出(拡張機能、またはプロジェクトサブフォルダーなど)を回避できます。 。gitattributesファイル:
言語統計にはプログラミング言語のみが含まれます。異なるタイプの言語(
languages.yml
で定義されている)は「検出可能」ではないため、言語統計に含まれません。
linguist-detectable
属性を使用して、パスを検出可能としてマークまたはマーク解除します。
*.kicad_pcb linguist-detectable=true
*.sch linguist-detectable=true
tools/export_bom.py linguist-detectable=false
プロジェクトのルートフォルダーに.gitattributesという名前のファイルを作成します。 {file_name} linguist-generated=true
を追加すると、トリックを実行できます。私の場合、
mvnw.cmd linguist-generated=true
mvnw linguist-generated=true
私のために働いた。
フォルダーのルートに.gitattributesファイルを作成します。言語をJavaにしたい場合は、コピーアンドペーストするだけです
*.Java linguist-detectable=true *.js linguist-detectable=false *.html linguist-detectable=false *.xml linguist-detectable=false
.gitattributesファイルでrepo.Refreshにファイルをプッシュし、GitHubページを更新して言語の変更を確認します。
上記の質問に答えた専門家EamonnMによって提供されたソリューションは私のプロジェクトで機能しましたが、2つの重要なことがあります。
彼のコードの2行目の最初の言語は、嫌いな言語ではなく、あなたが望む言語でした。それを区別することを忘れないでください。
*
の前にスペースを入力できなかったようです。 (たとえば、言語をSwiftに変更する場合は、*.Swift linguist-vendored=false
と入力する必要があります。)