2011-01-03 40 views
10

Tôi có ứng dụng Ruby on Rails treo khi vendor/rails có mặt nhưng hoạt động tốt nếu không. Tôi cần phải giữ cho thư mục này bị xóa trong bản sao cục bộ của tôi để tôi có thể làm việc, nhưng tôi không muốn xóa này bao giờ được cam kết. Ai đó đặt nó ở đó vì một lý do.Git bỏ qua thư mục đã xóa cục bộ

Vậy làm cách nào để xóa thư mục này mà không cần thư mục này xuất hiện trong git status dưới dạng một nghìn tệp đã xóa? Rõ ràng .gitignore sẽ không hoạt động vì bạn không thể bỏ qua các tệp đã được theo dõi. Không có bất kỳ giải pháp nào được liệt kê here (git update-index --assume-unchanged) hoạt động.

Trả lời

40
git ls-files --deleted -z | git update-index--assume-unchanged -z --stdin

Lưu ý rằng vì đây là thao tác dựa trên chỉ mục, bạn không thể đặt thư mục bị bỏ qua - chỉ các tệp riêng lẻ. Nếu thượng lưu bao giờ thêm một tập tin bên trong các thư mục đó, bạn sẽ phải sửa nó lại.

+1

Ah đúng, thư mục so với tệp, tất nhiên. Điều đó đã làm nó - cảm ơn! –

+8

'git ls-files --deleted -z | git update-index --assume-constant -z --stdin' bỏ qua tất cả các tệp đang bị xóa. – blinry

+0

@blinry Thêm phần này làm câu trả lời. Làm việc hoàn hảo cho tôi! – jmotes

Các vấn đề liên quan