Câu trả lời:
.gitignore
chỉ bỏ qua các tệp chưa phải là một phần của kho lưu trữ. Nếu bạn đã chỉnh sửa git add
một số tệp, các thay đổi của chúng sẽ vẫn được theo dõi. Để xóa các tệp đó khỏi kho lưu trữ của bạn (nhưng không phải khỏi hệ thống tệp của bạn), hãy sử dụng git rm --cached
chúng.
Tệp .gitignore đảm bảo rằng các tệp không được Git theo dõi vẫn không bị theo dõi.
Chỉ thêm thư mục / tệp vào tệp .gitignore sẽ không bỏ theo dõi chúng - chúng sẽ vẫn được Git theo dõi.
Để bỏ theo dõi tệp, cần phải xóa khỏi kho lưu trữ các tệp được theo dõi được liệt kê trong tệp .gitignore. Sau đó, thêm lại chúng và cam kết các thay đổi của bạn.
Cách dễ nhất, triệt để nhất để làm điều này là xóa và lưu vào bộ nhớ cache tất cả các tệp trong kho, sau đó thêm lại tất cả. Tất cả các thư mục / tệp được liệt kê trong tệp .gitignore sẽ không được theo dõi. Từ thư mục trên cùng trong kho lưu trữ, hãy chạy các lệnh sau:
git rm -r --cached .
git add .
Sau đó cam kết các thay đổi của bạn:
git commit -m "Untrack files in .gitignore"
Xin lưu ý rằng mọi cam kết trước đó với các tệp không mong muốn sẽ vẫn còn trong lịch sử cam kết. Khi đẩy lên GitHub, hãy lưu ý lịch sử cam kết có thể chứa .env
hoặc client_secret.json
tệp.
Cách tốt nhất là tạo tệp .gitignore và điền nó vào các thư mục / tệp bạn không muốn theo dõi khi bắt đầu một dự án. Tuy nhiên, thông thường cần phải thêm vào tệp .gitignore sau khi nhận ra rằng các tệp không mong muốn đang được theo dõi và lưu trữ.
git rm -r --cached .
quay lại, tất cả các thay đổi cũng hoạt động để thêm lại tất cả các tệp không bị loại trừ với .gitignore .
Nhìn vào đây: .gitignore không hoạt động Và đặc biệt là nhận xét từ ADTC:
Đảm bảo rằng tệp .gitignore của bạn sử dụng mã hóa ANSI hoặc UTF-8. Nếu nó sử dụng thứ gì đó khác như Unicode BOM, có thể Git không thể đọc tệp. - ADTC ngày 14 tháng 12 năm 17 lúc 12:39