VS 2017 Git Local Commit DB.lock error pada setiap commit

200

Kami mendapatkan kesalahan ini di setiap komit lokal:

Git gagal dengan error.error fatal: open (". Vs / XXXXXX.Dev.Library / v15 / Server / sqlite3 / db.lock"): Izin ditolak fatal: Tidak dapat memproses jalur .vs / XXXXXX.Dev.Library / v15 /Server/sqlite3/db.lock

Ini adalah instalasi baru VS 2017 menggunakan repositori git lokal sebelum dapat disinkronkan ke Azure DevOps GIT.

Kami dapat menghapus file kunci secara manual dan kemudian menyelaraskan dengan baik, tetapi ini memperlambat proses pengembangan secara serius (harus menutup , menghapus , membuka , melakukan setiap kali).

Adakah yang tahu perbaikan jangka panjang yang lebih baik untuk masalah ini?

alex Reid
sumber
Jika orang lain menemukan ini dan menambahkan ".vs /" ke .gitignore tampaknya tidak berfungsi, membuat file di PowerShell dan kemudian mengedit dengan Notepad ++ meninggalkan file dengan jenis pengkodean karakter yang salah. Saya perlu membukanya di VS Code dan menyandikannya sebagai UTF8 dan kemudian berfungsi dengan baik
Brian Leishman

Jawaban:

419

Cukup tambahkan folder .vs ke file .gitignore .

Berikut adalah templat untuk Visual Studio dari koleksi templat .gitignore GitHub, sebagai contoh:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


Jika Anda kesulitan menambahkan file .gitignore, cukup ikuti langkah-langkah ini:

  1. Pada jendela Team Explorer, buka Pengaturan.

Team Explorer - Pengaturan

  1. Kemudian akses Pengaturan Repositori.

Pengaturan Repositori

  1. Terakhir, klik Tambah di bagian Abaikan File.

masukkan deskripsi gambar di sini

Selesai ;)
File default ini sudah termasuk folder .vs.

masukkan deskripsi gambar di sini

Matheus Lacerda
sumber
3
Ya, itu answare terbaik, saya hanya memasukkan "2017" di: # direktori Visual Studio 2015/2017 cache / opsi .vs /
harveyt
1
Masalahnya adalah, git clean -fxdmendapatkan celana dalam putaran kemudian .. Saya harus berhenti VS sebelum saya bisa membersihkan. Ini baru dimulai sejak VS2017 dan tidak terjadi pada 2015
Peter McEvoy
4
Ini juga berhasil bagi saya. Jawaban sempurna untuk pesan kesalahan yang menyesatkan.
Stanley Okpala Nwosa
@Matheus, setelah melakukan komit ini dipentaskan bekerja tetapi Komit Semua dan Dorong masih menunjukkan kesalahan yang sama. Apa yang bisa dilakukan untuk membuatnya berkomitmen dan mendorong?
Stanley Okpala Nwosa
Bekerja untuk saya, meskipun melakukan git di VS tampaknya agak ajaib sebagian besar waktu. Saya mencoba menarik kelinci keluar dari topi tetapi mendapatkan simpanse sebagai gantinya.
Roberto
63
  1. folder .vs tidak boleh dilakukan.
  2. buat file dengan nama ".gitignore" di dalam direktori proyek git root.
  3. Tambahkan baris ".vs /" in ".gitignore" berikut ini.
  4. Sekarang lakukan proyek Anda.

masukkan deskripsi gambar di sini

Siddarth Kanted
sumber
Halo, meskipun jenis file ini ada di file gitignore, saya masih mendapatkan error. tolong bantu.
user3820266
33

Langkah 1:
Tambahkan .vs / ke file .gitignore Anda (seperti yang dikatakan dalam jawaban lain).

Langkah 2:
Penting untuk dipahami, bahwa langkah 1 TIDAK AKAN menghapus file dalam .vs / dari indeks cabang Anda saat ini, jika sudah ditambahkan. Jadi bersihkan cabang aktif Anda dengan menerbitkan:

git rm --cached -r .vs/*

Langkah 3:
Terbaik untuk segera mengulangi langkah 1 dan 2 untuk semua cabang aktif lainnya dari proyek Anda juga.
Kalau tidak, Anda akan dengan mudah menghadapi masalah yang sama lagi saat beralih ke cabang yang tidak bersih.

Kiat pro:
Alih-alih langkah 1 Anda mungkin ingin menggunakan templat .gitingore resmi ini untuk VisualStudio yang mencakup lebih dari sekadar jalur .vs:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(Tapi tetap jangan lupa langkah 2 dan 3.)

Jpsy
sumber
.vs telah dikecualikan dalam file .gitignore (.vs /) saya dan masalah ini masih ada. Dengan apa lagi masalahnya?
Stanley Okpala Nwosa
1
Mampu menyelesaikan dengan menjalankan git rm --cached -r .vs / *. Terima kasih
Stanley Okpala Nwosa
5

VS 2017 Git Local Commit DB.lock error pada setiap commit

Masalah ini pasti disebabkan oleh file .ignore yang rusak.

Jika IDE Anda adalah Visual Studio, ikuti langkah-langkah ini untuk menyelesaikan masalah ini:

  1. Hapus file .gitignore dari folder proyek Anda
  2. Pergi ke Penjelajah Tim
  3. Buka Beranda di Team Explorer
  4. Pergi ke pengaturan
  5. Di bawah GIT, Klik Pengaturan Repositori
  6. Di Bawah - Abaikan & Atribut File - Di Bawah Abaikan File - Klik Tambah. Anda akan melihat pemberitahuan bahwa File Abaikan telah berhasil dibuat
  7. Bangun solusi Anda. Ini akan memakan waktu agak lama dan membuat file .ignore baru setelah build berhasil
  8. Anda sekarang harus dapat Berkomit dan Dorong tanpa masalah lebih lanjut

NB: Ingatlah bahwa versi studio visual Anda mungkin menempatkan opsi-opsi ini secara berbeda. Saya menggunakan Visual Studio 2019 Community Edition.

Bernard Oreva
sumber
Bekerja untukku. Terima kasih!
Chase Ernst
2

Saya memiliki masalah yang sama tetapi saya telah menyelesaikannya dengan membuat file .gitignore.

Saya juga menemukan solusi yang hanya terdiri dari menghapus file db.lock dari folder .vs tetapi Anda harus melakukannya setiap saat dan melakukan ini untuk waktu yang lama membuat ini menjadi operasi yang mengganggu.

Cara terbaik untuk mengatasi masalah ini adalah dengan membuat file .gitignore seperti yang disarankan sebelumnya, tapi saya pikir itu bagus untuk menyebutkan juga solusi ini, hanya untuk tujuan pengetahuan umum!

Salam, Tony Grinton


sumber
0

Saya tidak menggunakan Git secara langsung melalui Visual Studio tetapi menggunakan klien Git Desktop.

Namun saya mendapatkan kesalahan yang sama tetapi menyelesaikannya dengan menutup Visual Studio sebelum melakukan perubahan untuk dikuasai.

Peter Horsbøll Møller
sumber
0

jika Anda menggunakan IDE seperti visual studio dan terbuka saat Anda mengirim perintah tutup IDE dan coba lagi

git add .

dan perintah lainnya, itu akan berhasil

Hamit YILDIRIM
sumber
0

Bagi saya langkah-langkah di bawah ini membantu:

  • Tutup Visual Studio 2019
  • Hapus folder .vs di Proyek
  • Buka kembali Proyek, folder .vs secara otomatis dibuat
  • Selesai
Ram
sumber
0

.gitignoreFile saya yang dihasilkan secara otomatis berisi /.vsbukan .vs/. Memperbaiki kesalahan ketik ini memperbaiki masalah!

Super Jade
sumber
0

masukkan deskripsi gambar di sini

Bagi saya dua file ini saya telah menghapus secara tidak sengaja, setelah membatalkan dua file ini dan ditambahkan dalam perubahan saya, saya dapat melakukan perubahan saya untuk git.

Jaydeep Shil
sumber
0

Memiliki ini dan .gitignore saya ada di dalam folder proyek saya, tetapi folder git utama berada pada tingkat solusi. Memindahkan .gitignore keluar ke folder level solusi / git bekerja. Masih tidak yakin bagaimana sampai di sana tapi ...

Joe Healy
sumber
-1

Cobalah untuk menyalin file ke direktori Anda secara manual (C: \ Users \ Admin \ AppData \ Local \ Temp \ WebSitePublish \ digisol - 1147805695 \ obj \ Debug \ Package \ PackageTmp.vs \ digisol \ v15 \ Server \ sqlite3)

RaviTeja V
sumber
-1

Saya telah melakukan solusi di atas, akhirnya ini berhasil menyelesaikan masalah saya:

  • Tutup studio visual

  • Jalankan bash git di folder proyek

  • Menulis :

    git add.

    git commit -m "[komentar Anda]"

    git push

Mostafa Hydarzadeh
sumber
-2

Untuk mengatasi masalah ini sederhana. Pertama Tutup, Visual Studio dan buka Windows Explorer, Pergi ke folder lokasi .vs dan buka properti folder dan centang opsi disembunyikan

Wellington Matos
sumber