2016-01-11 25 views
25

Tôi biết đây không phải là một vấn đề lớn nhưng tôi thích Github của tôi được đa dạng về ngôn ngữ. Tôi đã viết một dự án trong Swift và khi tôi cam kết nó nói trong Objective C.Github thay đổi kho lưu trữ thành sai ngôn ngữ

Tôi nghĩ có thể là do các khung công tác Parse được viết trong Objective C và phát hiện ra, nhưng có cách nào để thay đổi ngôn ngữ hiển thị trên trang kho lưu trữ chính?

+0

Bản sao có thể có của [Cách thay đổi ngôn ngữ của kho lưu trữ trên GitHub?] (Https://stackoverflow.com/questions/13597892/how-to-change-the-language-of-a-repository-on- github) – tkruse

Trả lời

29

Như đã đề cập trong GitHub help page

GitHub sử dụng mã nguồn mở Linguist library để xác định ngôn ngữ tập tin cho làm nổi bật cú pháp và thống kê kho.
Một số tệp khó xác định và đôi khi các dự án chứa nhiều tệp thư viện và nhà cung cấp hơn mã chính của chúng.

Vì vậy, bạn cần kiểm tra với github/linguist#troubleshooting để khắc phục tình trạng này.

Tỷ lệ phần trăm được tính toán dựa trên byte mã cho mỗi ngôn ngữ được báo cáo bởi List Languages API.
Nếu thanh được báo cáo một ngôn ngữ mà bạn không mong đợi:

  • Bấm vào tên của ngôn ngữ trong thanh số liệu thống kê để xem một danh sách các tập tin được xác định là ngôn ngữ đó.
  • Nếu bạn thấy các tệp mà bạn không viết, hãy xem xét di chuyển các tệp vào một trong số paths for vendored code hoặc sử dụng manual overrides feature để bỏ qua chúng.
  • Nếu các tệp đang bị phân loại sai, hãy tìm kiếm open issues để xem liệu có ai khác đã báo cáo sự cố không. Bất kỳ thông tin nào bạn có thể thêm, đặc biệt là các liên kết đến các kho lưu trữ công khai, đều hữu ích.
  • Nếu không có vấn đề nào được báo cáo về phân loại sai này, open an issue và bao gồm liên kết tới kho lưu trữ hoặc mẫu mã đang bị phân loại sai.

Cập nhật tháng 2 năm 2017 (một năm sau):

Bài báo "How to Change Repo Language in GitHub" từ Monica Powell

Sau khi nghiên cứu làm thế nào để giải quyết GitHub phân loại sai ngôn ngữ của bạn các dự án tôi phát hiện ra giải pháp đơn giản như nói với GitHub những tập tin cần bỏ qua.

Trong khi bạn vẫn còn muốn cam kết những tập tin này để GitHub và do đó không thể sử dụng một .gitignorebạn có thể nói ngôn ngữ học GitHub của các tập tin để bỏ qua trong một file .gitattribute

static/* linguist-vendored 

Cái này tập tin -line nói với GitHub bỏ qua tất cả các tệp của tôi trong thư mục static/ của tôi là nơi CSS và các nội dung khác được lưu trữ cho ứng dụng Flask

+0

Làm việc cho tôi, mặc dù bây giờ tự hỏi làm thế nào điều này có thể * vẫn * làm việc trên GitHub nếu .gitattribute là trong .gitignore như GitHub rõ ràng là cần tập tin nhưng tôi không thực sự muốn nó trong repo của tôi nữa ... –

16

Để làm cho nó đơn giản, hãy để tôi chia sẻ các bước của tôi:

  1. Thay đổi thư mục vào thư mục gốc của dự án của bạn;

  2. Tạo một file có tên .gitattributes sử dụng công cụ whaterver bạn chọn:

    lạc .gitattributes

  3. Chỉnh sửa các tập tin bằng cách làm theo các hướng dẫn Linguist library nói Github cách làm, cho ví dụ:

    vi .gitattributes

    Sử dụng ngôn ngữ học-vendored thể để Github để "bỏ qua" phát hiện cho thư mục này và các thư mục con:

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

    Sử dụng thuộc tính ngôn ngữ học-tài liệu hướng dẫn để đánh dấu hoặc đường dẫn bỏ chọn như tài liệu:

    project-docs/* linguist-documentation

    Điều này hơi lạ nhưng bạn cũng có thể làm - để yêu cầu Github xử lý một số tệp có phần mở rộng cụ thể (ví dụ: * Rb) như Java:

    *.rb linguist-language=Java

  4. Git thêm, cam kết và sau đó đẩy nó để Github, nhãn sẽ được sửa chữa ngay lập tức.

18

tôi thấy điều đơn giản nhất là này .gitattributes file:

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

dụ này cho github/nhà ngôn ngữ học để bỏ qua tất cả các file, sau đó chỉ cần nhìn vào file .js. Dự án của tôi https://github.com/aim12340/jQuery-Before-Ready được liệt kê dưới dạng HTML vì các tệp mẫu HTML lớn hơn các tệp JS. Tệp này sửa chữa nó cho tôi và bây giờ nó được liệt kê là JavaScript

0

Tạo tệp có tên .gitattributes vào thư mục gốc của dự án của bạn. Thêm {file_name} linguist-generated=true có thể thực hiện thủ thuật. Trong trường hợp của tôi,

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

làm việc cho tôi.

Các vấn đề liên quan