Github가 저장소를 잘못된 언어로 변경합니다.


106

나는 이것이 큰 문제가 아니라는 것을 알고 있지만 Github가 언어 적으로 다양하다는 것을 좋아합니다. Swift로 프로젝트를 작성했는데 커밋하면 Objective C에 있다고 표시됩니다.

Parse 프레임 워크가 Objective C로 작성되었고이를 감지했기 때문일 수 있지만 기본 저장소 페이지에서 표시 언어를 변경할 수있는 방법이 있습니까?


답변:


126

가장 간단한 방법은 .gitattributes내 저장소의 루트 폴더에 라는 파일을 만들고 다음 내용을 제공하는 것입니다.

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

이 예제는 github / linguist에게 모든 파일을 무시하고 .js 파일 만 보도록 지시합니다. HTML 예제 파일이 JS 파일보다 크기 때문에 내 프로젝트 https://github.com/aim12340/jQuery-Before-Ready 가 HTML로 나열되었습니다. 이 파일은 나를 위해 그것을 수정하고 이제 JavaScript로 나열됩니다.


5
위의 내용으로 repo 루트 폴더 아래에 새 .gitattributes 파일을 생성하십시오.
Gob00st

가장 훌륭한. CSS 프로젝트로 분류 된 Scala 프로젝트가 있습니다. 좋지 않습니다.;)
Objektwerks

5
더미 주석 일 수도 있지만 정확히 무엇을해야할지 궁금한 경우 1. 주석에서 @ Gob00st의 지침을 따르고 2. ".js"를 기본 언어 파일의 확장자로 바꿉니다.
Elisabeth

감사합니다. 나는 많은 기사를 읽었지만 이것 외에는 아무도 나를 위해 일하지 않았습니다.
Modo

내 ASP.NET 핵심 프로젝트에서 비슷한 문제가 발생했습니다. Github는 www 폴더 아래에있는 js 파일의 양 때문에 자바 스크립트 저장소라고 생각했습니다. [webprojectfolder] / wwwroot / * linguist-vendored와 함께 .gitattributes 파일을 추가하면 문제가 해결되었습니다. 감사합니다.
Mustafa

63

GitHub 도움말 페이지 에서 언급했듯이

GitHub는 오픈 소스 Linguist 라이브러리 를 사용하여 구문 강조 및 리포지토리 통계를위한 파일 언어를 결정합니다.
일부 파일은 식별하기 어렵고 프로젝트에는 기본 코드보다 더 많은 라이브러리 및 공급 업체 파일이 포함되어 있습니다.

따라서이 github/linguist#troubleshooting상황을 해결하려면 확인해야합니다 .

백분율은 List Languages ​​API 에서보고하는 각 언어의 코드 바이트를 기준으로 계산 됩니다 .
바에서 예상치 못한 언어를보고하는 경우 :

  • 통계 표시 줄에서 언어 이름을 클릭하면 해당 언어로 식별되는 파일 목록을 볼 수 있습니다.
  • 작성하지 않은 파일이있는 경우 공급 업체 코드 경로 중 하나로 파일을 이동 하거나 수동 재정의 기능 을 사용하여 무시하세요.
  • 파일이 잘못 분류 된 경우 미해결 문제 를 검색하여 다른 사람이 이미 문제 를보고했는지 확인합니다. 추가 할 수있는 모든 정보, 특히 공용 저장소에 대한 링크가 유용합니다.
  • 이 잘못 분류에 대해보고 된 문제가없는 경우 문제를 열고 잘못 분류 되는 코드 샘플 또는 저장소에 대한 링크를 포함합니다.

2017 년 2 월 업데이트 (1 년 후) :

Monica Powell의 " GitHub에서 Repo 언어를 변경하는 방법 "기사

GitHub가 프로젝트의 언어를 잘못 분류하는 것을 해결하는 방법을 조사한 결과, GitHub에 무시할 파일을 알려주는 것만 큼 간단하다는 것을 알게되었습니다.

당신은 아직 사용할 수 없습니다, 따라서 GitHub의에이 파일을 커밋하고 싶어하지만 .gitignore 당신은에서 무시할 파일 GitHub의의 언어 학자 말할 수있는 .gitattributes파일을

static/* linguist-vendored

이 한 줄짜리 파일은 GitHub에 내 static/폴더의 모든 파일을 무시하라고 지시했습니다.이 폴더는 Flask 앱에 대해 CSS 및 기타 자산이 저장되는 위치입니다.

"사용 .gitattributes"부분은 잘못된 언어를 표시하는 방법을 보여 않습니다.
예를 들면 :

자바 스크립트 라이브러리와 같이 작성하지 않은 코드를 git 저장소에 확인하는 것은 일반적인 관행이지만 이 경우 종종 프로젝트의 언어 통계가 부풀려지고 프로젝트에 다른 언어로 라벨이 지정 될 수도 있습니다 .
기본적으로 Linguist는 다음에 정의 된 모든 경로를 처리합니다.vendor.yml 를 공급 업체로 하므로 저장소의 언어 통계에 포함하지 않습니다.

linguist-vendored 속성을 공급 업체 또는 비 공급 업체 경로에 사용합니다.

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

나를 위해 일했다 지금이 수 있는지 궁금하지만 여전히 .gitattribute은 .gitignore에있는 경우 GitHub의에 일이 GitHub에 분명히 파일을 필요로하지만 난 정말 ... 더 이상 내 REPO에 그것을 원하지 않아요
데이브 Everitt

1
.gitattributes하지 .gitattribute
Derzu

.gitattributes가 존재하는지 몰랐습니다. 감사합니다 +1
scipsycho

31

간단하게하기 위해 내 단계를 공유하겠습니다.

  1. 프로젝트 루트 폴더로 디렉토리를 변경하십시오.

  2. 원하는 도구를 사용하여 .gitattributes라는 파일을 만듭니다.

    .gitattributes 터치

  3. Linguist 라이브러리 지침 에 따라 파일을 편집하여 Github에 방법을 알려주십시오. 예를 들면 다음과 같습니다.

    vi .gitattributes

    linguist-vendored를 사용하면 Github에서이 폴더 및 하위 폴더에 대한 감지를 "건너 뛰기"할 수 있습니다.

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

    linguist-documentation 속성을 사용하여 경로를 문서로 표시하거나 표시 해제합니다.

    project-docs/* linguist-documentation

    또는 문서가 포함 된 개별 파일에 표시

    documented_code.rb linguist-documentation=true

    이것은 약간 이상하지만 또한 할 수 있습니다-Github에 특정 확장자 (예 : * .rb)를 가진 일부 파일을 Java로 처리하도록 지시합니다.

    *.rb linguist-language=Java

  4. Git 추가, 커밋 및 Github에 푸시하면 레이블이 거의 즉시 수정됩니다.


나를 위해 일했습니다. .gitattributes 파일에 아래 줄을 추가했습니다 *.java linguist-detectable=false *.dart linguist-language=Dart *.dart linguist-detectable=true android/* linguist-vendored build/* linguist-vendored
Chirag Savsani

15

.gitattributes를 이것으로 바꾸면 모든 파일이 Java로 재 분류 됩니다.

 *.* linguist-language=Java

언어 학자


8

폴더의 루트에 .gitattributes 파일을 만듭니다. 언어가 Java가되기를 원한다고 가정하고 복사하여 붙여 넣기 만하면됩니다.

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

.gitattributes 파일에서 파일을 리포지토리에 푸시합니다. GitHub 페이지를 새로 고쳐 언어 변경을 확인합니다.

노트 : 원하는 언어에 대해서는 true로 만들고 다른 언어는 false로 만드십시오.


2

Objective-C에서 시작된 프로젝트가 있고 Swift로 완전히 변경되었습니다 (새 프로젝트이지만 동일한 저장소 디렉토리에 있음). Github는 내가 gitattributes에 무엇을 넣었 든 상관없이 Objective-C로 계속 식별했습니다. (위의 모든 솔루션)

따라서 지그가 작동하고 모든 프로젝트가 하나의 언어라고 확신하는 경우 근본적으로 다음과 같이 입력합니다.

여기에 이미지 설명 입력

그것은 문제를 해결했습니다. :)


2

.gitattributes 파일에서 Linguist에게 원하지 않는 파일 언어를 결정하지 않도록 지시하십시오.

자바 스크립트 파일을 무시하는 예.

*.js linguist-vendored

2

.gitattributes 파일 에서 github linguist 감지 가능 옵션 을 사용하여 예기치 않은 언어 감지 (확장자 또는 프로젝트 하위 폴더 등)를 피할 수 있습니다.

언어 통계에는 프로그래밍 언어 만 포함됩니다. 에 정의 된 다른 유형의 언어는 languages.yml"감지"되지 않아 언어 통계에 포함되지 않습니다.

linguist-detectable속성을 사용하여 경로를 탐지 가능으로 표시하거나 표시 해제합니다.

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

2

Laravel 저장소의 언어를 변경하려면 다음 줄을 .gitattributes파일에 추가 하십시오.

*.blade.php linguist-vendored

GitHub는 블레이드 파일을 html로 정의하지만 *.html linguist-vendored작동하지 않습니다.


1

위의 질문에 답한 전문가 EamonnM이 제공 한 솔루션이 제 프로젝트에서 효과가 있었지만 두 가지 중요한 점이 있습니다.

  1. 그의 코드 두 번째 줄의 시작 부분에있는 언어는 싫어하는 언어 대신 원하는 언어였습니다. 그것을 구별하는 것을 기억하십시오.

  2. 앞에 공백을 입력 할 수없는 것 같습니다 *. (예를 들어, *.swift linguist-vendored=false언어를 신속하게 변경하려면 입력해야합니다 .)


0

프로젝트 루트 폴더에 .gitattributes라는 파일을 만듭니다. 추가 {file_name} linguist-generated=true는 트릭을 할 수 있습니다. 나의 경우에는,

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

나를 위해 일했습니다.


0

나는 이것에도 문제가 있습니다. 내 프로젝트의 루트에 .gitattributes를 만들었습니다. .js와 .cs를 제거했지만 .html은 여전히 ​​있습니다. 이것은 내 .gitattributes입니다.

*.cs linguist-detectable=true
*.js linguist-detectable=false`
*.html linguist-detectable=false
*.xml linguist-detectable=false

* linguist-vendored를 추가해도 GitHub에 아무것도 표시되지 않습니다.

당신의 도움을 주셔서 감사합니다.

여기에 이미지 설명 입력

대답:

여전히 동일하지만 .html은 여전히 ​​표시됩니다.


0

대답은 매우 간단합니다.

프로젝트 터미널에 다음 줄을 추가하십시오.

  1. touch .gitattributes 이 명령을 작성한 후이 파일 -.gitattributes-를 찾을 수 있습니다.이 파일이 나타나지 않으면 숨겨진 파일을 표시하여 찾으십시오.
  2. *.* linguist-language=Java 대상 언어로 Java 변경 -Swift in your case-
  3. git add .
  4. git commit -m "Change Tagged language from Java to Kotlin"
  5. git push 이제 Github 페이지를 새로 고친 후 새 업데이트를 찾을 수 있습니다.

-1
# add this two lines 
*.* linguist-language=Swift

project-docs/* linguist-documentation

4
코드 설명에 설명을 추가 할 수 있습니까 ??
Stephan Hogenboom
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.