Saya mendapatkan kesalahan aneh "tidak dapat mengunci ref" ketika mencoba menarik perubahan dari github. Saya sudah mencoba git gc, dan mencari-cari kesalahan serupa tetapi tidak dapat menemukan solusinya.
> git pull
error: cannot lock ref 'refs/tags/v2.8': 'refs/tags' exists; cannot create 'refs/tags/v2.8'
From github.com:k3it/qsorder
! [new tag] v2.8 -> v2.8 (unable to update local ref)
error: cannot lock ref 'refs/tags/v2.9': 'refs/tags' exists; cannot create 'refs/tags/v2.9'
! [new tag] v2.9 -> v2.9 (unable to update local ref)
Git Anda mengeluh bahwa referensi (bukan direktori) bernama refs/tags
ada. Tidak jelas apa yang akan membuat itu, tetapi lihat apakah git rev-parse refs/tags
menghasilkan ID hash. Jika demikian, referensi itu harus dihilangkan:
git update-ref -d refs/tags
setelah itu git fetch
seharusnya bekerja.
Jika git rev-parse refs/tags
gagal (yang seharusnya-refs/tags
itu sendiri seharusnya bukan nama yang valid) maka ini bukan masalahnya dan tidak jelas apa masalah sebenarnya.
error: cannot lock ref 'refs/tags/v2.8': 'refs/tags' exists; cannot create 'refs/tags/v2.8' Dari github.com:k3it/qsorder
Coba hapus tag lokal anda v2.8
dan v2.9
kemudian tarik lagi.
$ git tag -d v2.8
$ git tag -d v2.9
$ git pull
Jika Anda ingin menghapus semua tag lokal dengan perintah:
$ git tag | xargs git tag -d