Trong foothư mục gốc của dự án tôi có một thư mục. Trong foothư mục tôi có một barthư mục. Tôi muốn bỏ qua tất cả các thay đổi cho tất cả các tệp trong barthư mục của tôi . Tôi có cái này trong gitignore:
/foo/bar
Thư mục được kiểm tra: nó tồn tại và nó có các tệp bị bỏ qua. gitignorelà committed. Tuy nhiên, tôi có một tập tin nơi tôi thực hiện một giao dịch và nằm trong barthư mục của mình . Khi tôi gõ
git status
Trong tôi, git bashtôi thấy các tập tin nên được bỏ qua. Điều gì có thể là lý do và làm thế nào tôi có thể bỏ qua thành công tất cả các tệp trong thư mục thanh của mình?
Lưu ý rằng các tệp trước đây đã bị bỏ qua với cùng một dòng, nhưng tôi phải tạm thời xóa dòng commitđó thành một cái gì đó trên máy chủ. Sau khi commit, tôi đặt lại dòng vào gitignore. Điều này đã được một thời gian trước đây, nhưng bây giờ tôi đã quan sát thấy rằng các tập tin sẽ được trong git status. Tôi hy vọng có thể sửa đổi các tệp bị bỏ qua mà không xuất hiện trong git status.
git status foo/bar/file-that-should-be-ignoredcho cái gì?
git log foo/bar/file-that-should-be-ignored. Nếu nó không phải là một phần của kho lưu trữ, bạn nên xóa nó đi git rm --cached foo/bar/file-that-should-be-ignoredvà sau đó cam kết theo đề xuất của Reck bên dưới (mặc dù tôi sẽ chỉ làm nó trên tệp chứ không phải toàn bộ thư mục). Điều này sẽ (a) xóa tệp khỏi Git, (b) giữ tệp trong bản sao cục bộ của bạn và (c) khiến tệp bị xóa khi người khác fetchhoặc pullcam kết mới.
git add -f ignored-filesẽ thêm một tập tin ngay cả khi nó bỏ qua.