Nếu bạn thêm tệp vào máy cục bộ của mình rồi cố gắng kéo bản sao từ xa của kho lưu trữ mà không thêm các tệp đó vào kho lưu trữ, bạn sẽ gặp phải lỗi Git “không có gì được thêm vào để cam kết nhưng hiện có tệp chưa được kiểm soát”.
Hướng dẫn này thảo luận về lỗi này có nghĩa là gì. Chúng ta sẽ xem xét hai giải pháp tiềm năng cho vấn đề này, những lợi ích và hạn chế của chúng.
không có gì được thêm vào để cam kết nhưng có các tệp chưa được kiểm tra
Git là một hệ thống kiểm soát phiên bản phân tán. Điều này có nghĩa là bạn có thể tạo bản sao cục bộ của kho lưu trữ và thực hiện các thay đổi của riêng bạn đối với kho lưu trữ đó. Những thay đổi này không được phản ánh trong dự án chính cho đến khi bạn cam kết chúng.
Khi bạn kéo mã từ một máy chủ từ xa, hãy đảm bảo rằng tất cả các tệp trên máy cục bộ của bạn là một phần của vùng dàn Git hoặc một phần của một cam kết. Điều này là do Git cần biết những tệp nào là một phần của kho lưu trữ.
Thực thi lệnh git pull trên kho lưu trữ mà bạn chưa thêm mọi tệp vào vùng dàn hoặc một cam kết sẽ dẫn đến lỗi sau:
không có gì được thêm vào cam kết nhưng có các tệp chưa được kiểm tra
Tệp chưa được theo dõi:A Primer
Tệp không được theo dõi là các tệp bên trong một dự án đã được định cấu hình bằng Git, nhưng chưa trở thành một phần của kho lưu trữ Git.
Các tệp chỉ trở thành một phần của kho lưu trữ Git nếu bạn thêm chúng bằng lệnh “git add”. Điều này cho phép bạn tạo và sửa đổi các tệp trong máy cục bộ của mình mà không cần phải trở thành một phần của dòng phát triển trong kho lưu trữ.
81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.
Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.
Các tệp không được theo dõi phải được thêm vào dự án hoặc bị bỏ qua bằng cách sử dụng quy tắc trong tệp .gitignore.
Giải pháp
Có hai giải pháp tiềm năng cho lỗi này.
Giải pháp đầu tiên là thêm tất cả các tệp chưa được theo dõi vào kho lưu trữ Git. Thực hiện việc này bằng lệnh git add:
git add file_to_add.md
Thao tác này sẽ di chuyển tệp vào khu vực dàn dựng. Khi bạn thêm một tệp vào vùng tổ chức, nó sẽ được theo dõi. Điều này là do tất cả các tệp trong khu vực tổ chức được thêm vào cam kết tiếp theo mà bạn tạo, trừ khi chúng bị xóa. Git cần theo dõi các tệp này để biết để thêm chúng vào một cam kết.
Tùy chọn thứ hai là bỏ qua các tệp bạn đã thêm vào kho lưu trữ của mình. Tùy chọn này được thực hiện tốt nhất nếu bạn không muốn các tệp bạn đã tạo trở thành một phần của kho lưu trữ Git. Điều này thường xảy ra đối với các tệp cấu hình lưu trữ khóa API hoặc các thư mục lưu trữ phụ thuộc cục bộ.
Bạn có thể bỏ qua các tệp bằng cách thêm mục nhập vào tệp .gitignore trong dự án của mình:
file_to_add.md directory/
Bạn có thể đặt tệp gitignore trong bất kỳ thư mục nào trong dự án của mình. Tốt nhất nên giữ .gitignore của bạn trong thư mục gốc của kho lưu trữ để dễ dàng truy cập. Tất cả các quy tắc trong tệp .gitignore sẽ áp dụng đệ quy cho các tệp và thư mục trong thư mục mà tệp .gitignore được lưu trữ.
Bây giờ chúng tôi đã giải quyết được lỗi, chúng tôi có thể lấy phiên bản mới nhất của kho lưu trữ Git bằng cách sử dụng lệnh git pull:
git pull
Lệnh này sẽ thành công vì chúng tôi hiện đang theo dõi hoặc bỏ qua tất cả các tệp có trong thư mục dự án.
Kết luận
“nothing added to commit but untracked files present
”Xuất hiện lỗi khi bạn tạo tệp mới trong bản sao làm việc cục bộ của kho lưu trữ và quên thêm chúng vào khu vực tổ chức trước khi bạn kéo phiên bản mới của kho lưu trữ.
Để khắc phục lỗi này, hãy thêm các tệp gây ra lỗi vào vùng tổ chức hoặc bỏ qua chúng bằng cách sử dụng tệp .gitignore. Bây giờ bạn đã có kiến thức cần thiết để sửa lỗi Git phổ biến này như một người chuyên nghiệp.