Xóa bộ nhớ cache cục bộ git


92

Tôi có một dự án Webstorm mà tôi sắp cam kết, nhưng trước khi nhấn nút cam kết trong Git Windows GUI, tôi nhớ rằng tôi không muốn cam kết .ideanội dung thư mục của mình .

Vì vậy, tôi đã sử dụng trang web tự động tạo .gitignorescho một số IDE nhất định và thêm nó vào .gitignoretệp của tôi .

Tất cả .ideacác tệp bị bỏ qua rõ ràng vẫn hiển thị để cam kết, mặc dù tôi đã xóa và thêm lại các tệp được đề cập.

Tôi cũng đã cam kết tệp gitignore mà không có bất kỳ tệp nào khác và dán lại nội dung của tôi, nhưng nó vẫn không bỏ qua các tệp .idea.

Làm cách nào để yêu cầu Git làm mới hoặc xóa bộ nhớ cache của nó?
Tôi đã thử / cd nhập vào thư mục được đề cập và nhập

git clean -n

nhưng không có tệp nào hiển thị.

Câu trả lời:


120

Tất cả các tệp .idea bị bỏ qua rõ ràng vẫn hiển thị để cam kết

bạn phải xóa chúng khỏi khu vực tổ chức

git rm --cached .idea

bây giờ bạn phải cam kết những thay đổi đó và chúng sẽ bị bỏ qua kể từ thời điểm này.
Khi git bắt đầu theo dõi các thay đổi, nó sẽ không "ngừng" theo dõi chúng ngay cả khi chúng được thêm vào .gitignoretệp sau này.

Bạn phải xóa chúng một cách rõ ràng và sau đó cam kết xóa thủ công để hoàn toàn bỏ qua chúng.


nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


3
Tôi không bao giờ cam kết các tập tin Tôi đang cố gắng để bỏ qua, mặc dù .. này nói với tôifatal: pathspec '.idea' did not match any files
jozenbasin

Khi gõ trạng thái git bạn có thấy chúng không? WebStorm có thể thêm chúng cho bạn nếu bạn đánh dấu vào hộp kiểm để tự động add file
CodeWizard

2
Tôi không biết nhưng có vẻ như lệnh bạn đưa cho tôi đã hoạt động, mặc dù nó trả về một lỗi nghiêm trọng .... Các tệp không còn hiển thị để cam kết nữa.
jozenbasin

bạn có thể cân nhắc việc thêm -rcho đệ quy loại bỏ
Vishrant

79

Khi bạn cho rằng git của mình bị lộn xộn, bạn có thể sử dụng lệnh này để cập nhật mọi thứ.

git rm -r --cached .
git add .
git commit -am 'git cache cleared'
git push

Ngoài ra để hoàn nguyên lần cam kết cuối cùng, hãy sử dụng cái này:

git reset HEAD^ --hard

6
Không sử dụng git push nếu bạn không muốn đẩy các thay đổi vào điều khiển từ xa. Tuy nhiên, nếu bạn đã làm vậy, hãy chuyển đến tab kiểm soát phiên bản ở cuối android studio, nhấp chuột phải vào cam kết trước đó và chọn "Đặt lại chi nhánh hiện tại thành đây"
Swapnil

phần đặt lại tốt nhất là khó hiểu. nhưng tôi đã làm đến 'git push', và ổn.
Seun S. Lawal

6

nếu bạn thực hiện bất kỳ thay đổi nào trên git bỏ qua thì bạn cũng phải xóa bộ nhớ cache git của mình

> git rm -r --cached . 
> git add . 
> git commit -m 'git cache cleared'
> git push

nếu muốn xóa bất kỳ thư mục hoặc tệp cụ thể nào thì

git rm  --cached filepath/foldername

3
git rm --cached *.FileExtension

Điều này phải bỏ qua tất cả các tệp từ tiện ích mở rộng này


3

sau khi thay đổi trong tệp git-ignore, hãy chạy lệnh này, Lệnh này sẽ xóa tất cả bộ đệm tệp không phải tệp hoặc thay đổi

git rm -r --cached.

sau khi thực hiện lệnh này, hãy cam kết các tệp

để xóa một tệp hoặc thư mục khỏi bộ nhớ cache, hãy sử dụng lệnh này

git rm --cached filepath / foldername


2

Để xóa thư mục .idea / đã lưu trong bộ nhớ cache. ví dụgit rm -r --cached .idea

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.