Trong foo
thư mục gốc của dự án tôi có một thư mục. Trong foo
thư mục tôi có một bar
thư mục. Tôi muốn bỏ qua tất cả các thay đổi cho tất cả các tệp trong bar
thư 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. gitignore
là commit
ted. 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 bar
thư mục của mình . Khi tôi gõ
git status
Trong tôi, git bash
tô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-ignored
cho 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-ignored
và 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 fetch
hoặc pull
cam kết mới.
git add -f ignored-file
sẽ thêm một tập tin ngay cả khi nó bỏ qua.