Như đã đề cập trong trang trợ giúp GitHub
GitHub sử dụng thư viện Linguist mã nguồn mở để xác định ngôn ngữ tệp để làm nổi bật cú pháp và thống kê kho lưu trữ.
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 phải kiểm tra 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ữ như được API ngôn ngữ danh sách báo cáo .
Nếu thanh báo cáo một ngôn ngữ mà bạn không mong đợi:
- Nhấp vào tên của ngôn ngữ trong thanh thống kê để xem danh sách các tệp được xác định là ngôn ngữ đó.
- Nếu bạn thấy các tệp mà bạn không ghi, hãy xem xét việc chuyển các tệp vào một trong các đường dẫn cho mã được cung cấp hoặc sử dụng tính năng ghi đè thủ công để bỏ qua chúng.
- Nếu các tệp đang bị phân loại sai, hãy tìm kiếm các vấn đề mở để xem có ai khác đã báo cáo vấn đề hay 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, hãy mở vấn đề và bao gồm liên kết đến 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 viết " Cách thay đổi ngôn ngữ Repo trong GitHub " từ Monica Powell
Khi nghiên cứu cách giải quyết việc GitHub phân loại sai ngôn ngữ trong các dự án của bạ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 nào cần bỏ qua.
Mặc dù bạn vẫn muốn cam kết các tệp này với GitHub và do đó không thể sử dụng tệp, .gitignore
bạn có thể cho nhà ngôn ngữ học của GitHub biết tệp nào cần bỏ qua trong .gitattributes
tệp
static/* linguist-vendored
Tệp một dòng này yêu cầu GitHub bỏ qua tất cả các tệp của tôi trong static/
thư mục của tôi , nơi lưu trữ CSS và các nội dung khác cho ứng dụng Flask
Phần "Sử dụng .gitattributes
" minh họa cách đánh dấu các ngôn ngữ sai.
Ví dụ:
Kiểm tra mã bạn không viết, chẳng hạn như thư viện JavaScript, vào git repo của bạn là một thực tế phổ biến, nhưng điều này thường làm tăng số liệu thống kê về ngôn ngữ của dự án và thậm chí có thể khiến dự án của bạn bị gắn nhãn là ngôn ngữ khác .
Theo mặc định, Linguist xử lý tất cả các đường dẫn được xác định vendor.yml
là được cung cấp và do đó không đưa chúng vào thống kê ngôn ngữ cho một kho lưu trữ.
Sử dụng thuộc tính nhà cung cấp ngôn ngữ cho đường dẫn nhà cung cấp hoặc không nhà cung cấp.
$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false