2017-08-21 30 views
15

Tôi đã nâng cấp VS 2017 lên 15.3.0 một vài ngày trước. Kể từ đó tập tin "storage.ide" vẫn còn trong các tập tin sửa đổi của tôi, thậm chí thông qua tôi đã sử dụng a suggested .gitignore for VS, trong đó bao gồm .vs/thư mục. Điều này bao gồm những điều sau đây.Visual Studio 2017 15.3.0 thay đổi git bao gồm "storage.ide" mặc dù .vs/in .gitignore

# Visual Studio 2015 cache/options directory 
.vs/ 

sau đó tôi thêm vào phần sau đây để cụ thể hơn về phớt lờ này từ danh sách các tập tin cần được theo dõi

.vs/SIASAWeb/v15/sqlite3/storage.ide 
.vs/**/storage.ide 

Các thay đổi trong đội Explorer cho thấy như sau:

<project folder> 
    .vs/<project>/v15/sqlite3 
    storage.ide 

Tôi đã thử git đặt lại tệp này, nhưng điều này sau đó trả về lần commit tiếp theo, và cũng tồn tại trong tất cả các nhánh mà tôi mở, kết quả là ngăn chặn sự dịch chuyển dễ dàng từ nhánh này sang nhánh khác ngay cả khi không có thay đổi nào được thực hiện.

Trong Solution Explorer, tệp "applicationhost.config" và ".suo" được đánh dấu là "bị bỏ qua", nhưng "storage.ide" được đánh dấu là "đang chờ chỉnh sửa".

Tôi đã thử cam kết, đồng bộ hóa với máy chủ GitHub, đóng và mở lại VS và thậm chí khởi động lại máy tính.

Câu hỏi của tôi là lý do tại sao tệp này đang được duy trì dưới dạng tệp được sửa đổi, mặc dù tệp đó sẽ bị bỏ qua cho git.

+0

Tôi vừa mới bắt đầu thấy các thư mục Server và slqite3 trong v15 chứa các tệp db.lock, storage.ide, storage.ide-shm và storage.ide-wal. Câu trả lời của Liam giải quyết nó, hãy "chấp nhận" nó. – nmit026

Trả lời

14

Điều này có thể có nghĩa là nó đã được thêm không chính xác vào kho git tại một số điểm và sau đó bị bỏ qua sau đó. git sẽ tiếp tục theo dõi các thay đổi đối với các tệp gitignored nếu chúng xuất hiện trong chỉ mục ("đã đăng ký").

Nếu bạn không muốn file kiểm tra ở đâu cả, bạn có thể xóa nó khỏi chỉ mục bằng cách chạy

git rm path/to-file --cached 

Điều này sẽ giữ cho nội dung trên đĩa, nếu bạn không muốn các tập tin để tồn tại ở tất cả các bạn có thể chạy

git rm path/to-file --force 

Lưu ý rằng điều này có thể không mong muốn nếu (ví dụ) các tệp dự án cơ sở dự định được kiểm tra làm điểm bắt đầu để thực hiện dự án. Và bạn có thể phải cẩn thận về việc không cam kết tệp cụ thể đó.

+0

Cảm ơn Anthony. Điều này đã khắc phục được sự cố. Tôi đã phải áp dụng điều này trong mỗi chi nhánh mà tôi đã mở kể từ khi tôi nâng cấp VS. Tuy nhiên, trong một số trường hợp, nó loại bỏ nó và sau đó thêm nó trở lại ngay lập tức. –

+0

Tôi không phải là siêu quen thuộc với tích hợp git của VS (như tôi đã không làm việc với nó kể từ khi nó được trong giai đoạn trứng nước) nhưng tôi có thể tưởng tượng như thế nào những điều này có thể nhận được ra khỏi đồng bộ. Bạn có thể thấy rằng sửa chữa nó bằng cách sử dụng git cli trong khi studio hình ảnh được đóng lại và sau đó mở lại studio trực quan có thể giúp đỡ? –

+2

Việc tích hợp Git trong VS sẽ không tự động thêm tệp storage.ide. Nó có thể vô tình được bao gồm trong một cam kết tại một số điểm, mà sau đó thực hiện theo cách của mình xung quanh để các ngành khác nhau. Như Anthony đã đề cập, một khi một tập tin được cam kết trong một repo Git, các mẫu bỏ qua không còn áp dụng cho nó nữa. Nếu bạn sử dụng git log để xem lịch sử của tệp storage.ide, nó sẽ cho bạn biết khi nó được thêm vào. –

0

Tôi đang sử dụng SourceTree (https://www.sourcetreeapp.com/) để quản lý cam kết git của mình. Với nó, bạn có thể nhấp chuột phải vào các thay đổi của mình và có tùy chọn Stop Tracking.I đã sử dụng nó cho cùng một tệp mà bạn đang cố gắng bỏ qua vì bản thân tôi cũng chỉ nâng cấp lên 15.3.0 và đó là lần cuối tôi thấy những thay đổi đang chờ xử lý

+1

Có thể bạn có thể mở rộng câu trả lời của bạn nói với poster ban đầu (OP) cách làm điều đó trong trường hợp của mình. Đơn giản chỉ cần nói nó làm việc cho tôi là không thực sự hữu ích. – Umberto

+1

Điều này không cung cấp câu trả lời cho câu hỏi. Khi bạn có đủ [danh tiếng] (https://stackoverflow.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bất kỳ bài đăng nào] (https://stackoverflow.com/help/privileges/comment); thay vào đó, [cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-thay thế). - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/17905740) –

7

những điều sau đây dường như đã giải quyết được vấn đề cho tôi.

# Visual Studio 2015/2017 cache/options directory 
*.vs/ 

nó bỏ qua mọi thứ trong đó.

14

Để khắc phục điều này, nếu bạn vào tab Team Explorer và nhấp vào nút Quản lý kết nối (nút màu xanh lá cây ở trên cùng), bạn sẽ thấy danh sách các kho lưu trữ Git cục bộ.

Nhấp chuột phải vào kho lưu trữ bạn muốn dừng theo dõi tệp lưu trữ.đọc và chọn Mở Dấu nhắc Lệnh.

Sau đó, bạn sẽ có thể gõ như sau:

git rm --cached -r .vs 

này loại bỏ các thư mục .vs và nội dung của nó và thư mục con khỏi bị theo dõi trong git.

+0

Câu trả lời hoàn hảo. – nmit026

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