VS 2017 Git Local Commit DB.lock lỗi trên mỗi lần xác nhận


200

Chúng tôi đang nhận được lỗi này trên mỗi cam kết cục bộ:

Git không thành công với một lỗi nghiêm trọng.error: open (". Vs / XXXXXX.Dev.L Library / v15 / Server / sqlite3 / db.lock"): Quyền bị từ chối: Không thể xử lý đường dẫn .vs / XXXXXX.Dev.L Library / v15 /Server/sqlite3/db.lock

Đây là bản cài đặt hoàn toàn mới của VS 2017 bằng cách sử dụng kho git cục bộ trước khi có thể đồng bộ hóa với Azure DevOps GIT.

Chúng ta có thể xóa thủ công tệp khóa và sau đó đồng bộ hóa tốt, nhưng nó làm chậm quá trình phát triển (phải đóng , xóa , mở , cam kết mỗi lần).

Có ai biết một sửa chữa lâu dài tốt hơn cho vấn đề này?


Nếu bất kỳ ai khác chạy ngang qua điều này và thêm ".vs /" vào .gitignore dường như không hoạt động, làm cho tệp trong PowerShell và sau đó chỉnh sửa bằng Notepad ++ để lại tệp có mã hóa ký tự sai. Tôi cần phải mở nó trong Mã VS và mã hóa nó thành UTF8 đơn giản và sau đó nó hoạt động tốt
Brian Leishman

Câu trả lời:


418

Chỉ cần thêm thư mục .vs vào tệp .gitignore .

Dưới đây là mẫu cho Visual Studio từ bộ sưu tập mẫu .gitignore của GitHub, làm ví dụ:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


Nếu bạn gặp khó khăn khi thêm tệp .gitignore, chỉ cần làm theo các bước sau:

  1. Trên cửa sổ Team Explorer, đi tới Cài đặt.

Team Explorer - Cài đặt

  1. Sau đó truy cập Cài đặt kho lưu trữ.

Cài đặt kho lưu trữ

  1. Cuối cùng, bấm vào Thêm trong phần Bỏ qua tệp.

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

Làm xong. ;)
Tệp mặc định này đã bao gồm thư mục .vs.

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


3
Vâng, đó là phần mềm ans tốt nhất, tôi chỉ đặt "2017" trong: # Visual Studio 2015/2017 thư mục tùy chọn / bộ nhớ cache .vs /
harveyt

1
Rắc rối là, git clean -fxdlàm cho nó trở nên khó khăn sau đó .. Tôi cần phải thoát khỏi VS trước khi tôi có thể làm sạch. Điều này chỉ bắt đầu từ VS2017 và không xảy ra vào năm 2015
Peter McEvoy

4
Điều này làm việc cho tôi quá. Một câu trả lời hoàn hảo cho một thông báo lỗi sai.
Stanley Okpala Nwosa

@Meditus, sau khi thực hiện cam kết này, dàn dựng đã hoạt động nhưng Commit All và Push vẫn hiển thị lỗi tương tự. Những gì có thể được thực hiện để có được nó cam kết và đẩy?
Stanley Okpala Nwosa

Làm việc cho tôi, mặc dù làm git trong VS có vẻ hơi kỳ diệu trong hầu hết thời gian. Tôi cố gắng kéo một con thỏ ra khỏi mũ nhưng thay vào đó là một con tinh tinh.
Roberto

63
  1. thư mục .vs không nên được cam kết.
  2. tạo một tệp có tên ".gitignore" trong thư mục gốc của dự án git.
  3. Thêm dòng ".vs /" trong tệp ".gitignore" sau đây.
  4. Bây giờ cam kết dự án của bạn.

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


Xin chào, mặc dù loại tệp này nằm trong tệp gitignore, tôi vẫn gặp lỗi. Xin giúp đỡ.
dùng3820266

33

Bước 1:
Thêm .vs / vào tệp .gitignore của bạn (như đã nói trong các câu trả lời khác).

Bước 2:
Điều quan trọng là phải hiểu, rằng bước 1 S NOT KHÔNG xóa các tệp trong .vs / khỏi chỉ mục nhánh hiện tại của bạn, nếu chúng đã được thêm vào nó. Vì vậy, xóa chi nhánh hoạt động của bạn bằng cách phát hành:

git rm --cached -r .vs/*

Bước 3:
Tốt nhất để lập tức lặp lại bước 1 và 2 cho tất cả các nhánh hoạt động khác của dự án của bạn.
Nếu không, bạn sẽ dễ dàng phải đối mặt với những vấn đề tương tự một lần nữa khi chuyển sang một chi nhánh không sạch.

Mẹo chuyên nghiệp:
Thay vì bước 1, bạn có thể muốn sử dụng mẫu .gitingore chính thức này cho VisualStudio bao gồm nhiều hơn chỉ là đường dẫn .vs:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(Nhưng vẫn không quên bước 2 và 3.)


.vs đã bị loại trừ trong tệp .gitignore (.vs /) của tôi và vấn đề vẫn còn tồn tại. Những gì khác có thể là vấn đề với?
Stanley Okpala Nwosa

1
Đã có thể giải quyết bằng cách chạy git rm --cached -r .vs / *. Cảm ơn
Stanley Okpala Nwosa

5

VS 2017 Git Local Commit DB.lock lỗi trên mỗi lần xác nhận

Vấn đề này phải được gây ra bởi một tệp .ignore bị hỏng.

Nếu IDE của bạn là Visual Studio, vui lòng làm theo các bước sau để giải quyết vấn đề này:

  1. Xóa tệp .gitignore khỏi thư mục dự án của bạn
  2. Chuyển đến Team Explorer
  3. Về nhà trong Team Explorer
  4. Chuyển đến Cài đặt
  5. Trong GIT, nhấp vào Cài đặt kho lưu trữ
  6. Trong - Bỏ qua & Thuộc tính tệp - Trong Bỏ qua tệp - Nhấp vào Thêm. Bạn sẽ thấy một thông báo rằng Tệp Bỏ qua đã được tạo thành công
  7. Xây dựng giải pháp của bạn. Sẽ mất một chút thời gian và tạo một tệp .ignore mới sau khi quá trình xây dựng thành công
  8. Bây giờ bạn có thể Cam kết và Đẩy mà không có vấn đề gì thêm

Lưu ý: Hãy nhớ rằng phiên bản studio hình ảnh của bạn có thể đặt các tùy chọn này khác nhau. Tôi đang sử dụng Visual Studio 2019 Community Edition.


Đã làm cho tôi. Cảm ơn!
Đuổi theo Ernst

2

Tôi gặp vấn đề tương tự nhưng tôi đã giải quyết bằng cách tạo tệp .gitignore.

Tôi cũng đã tìm thấy một cách giải quyết đơn giản chỉ là xóa tệp db.lock khỏi thư mục .vs nhưng bạn phải làm điều đó mỗi lần và thực hiện việc này lâu sẽ khiến việc này trở nên khó chịu.

Cách tốt nhất để giải quyết vấn đề này là tạo tệp .gitignore như đề xuất trước đây, nhưng tôi nghĩ rằng cũng tốt khi đề cập đến cách giải quyết này, chỉ nhằm mục đích kiến ​​thức chung!

Trân trọng, Tony Grinton


0

Tôi không sử dụng Git trực tiếp thông qua Visual Studio mà sử dụng máy khách Git Desktop.

Tuy nhiên, tôi đã gặp một lỗi tương tự nhưng đã khắc phục bằng cách đóng Visual Studio trước khi Cam kết thay đổi thành chủ.


0

nếu bạn đang sử dụng IDE như visual studio và nó đang mở trong khi bạn gửi lệnh đóng IDE và thử lại

git add .

và các lệnh khác, nó sẽ tập luyện


0

Đối với tôi các bước dưới đây đã giúp:

  • Đóng Visual Studio 2019
  • Xóa thư mục .vs trong Dự án
  • Mở lại thư mục Project, .vs được tạo tự động
  • Làm xong

0

.gitignoreTập tin được tạo tự động của tôi có chứa /.vsthay vì .vs/. Sửa lỗi đánh máy này đã khắc phục vấn đề!


0

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

Đối với tôi hai tệp này tôi đã xóa do nhầm lẫn, sau khi hoàn tác hai tệp này và được thêm vào các thay đổi của tôi, tôi đã có thể cam kết các thay đổi của mình với git.


0

Có cái này và .gitignore của tôi nằm trong thư mục dự án của tôi, nhưng các thư mục git chính ở cấp độ giải pháp. Di chuyển .gitignore ra các thư mục cấp độ giải pháp / git làm việc. Vẫn không chắc nó đến đó bằng cách nào nhưng ...


-1

Cố gắng sao chép tệp vào thư mục của bạn theo cách thủ công (C: \ Users \ Admin \ AppData \ Local \ Temp \ WebSitePublish \ digisol - 1147805695 \ obj \ Debug \ Gói \ GóiTmp.vs \ digisol \ v15 \ Server \ sqlite3)


-1

Tôi đã thực hiện các giải pháp trên, cuối cùng công việc này đã giải quyết vấn đề của tôi:

  • Đóng studio hình ảnh

  • Chạy git bash trong thư mục dự án

  • Viết:

    git thêm.

    git commit -m "[bình luận của bạn]"

    đẩy git


-2

Để giải quyết vấn đề này là đơn giản. Đầu tiên Đóng, Visual Studio và mở Windows Explorer, Chuyển đến thư mục location .vs và mở thuộc tính thư mục và kiểm tra tùy chọn ẩn

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.