ปัญหาในการตั้งค่าข้อผิดพลาด git: ไม่สามารถล็อคไฟล์กำหนดค่า


13

ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามตั้งค่าส่วนกลาง:

$ git config --global user.name "Your Name Here"
error: could not lock config file /pathto/file/.gitconfig: No such file or directory

และไฟล์. gitconfig นั้นมีอยู่แล้วทุกคนมีแนวคิดหรือไม่?


คุณมีสิทธิ์อ่าน / เขียนในไฟล์นั้นหรือไม่? (ตรวจสอบการใช้ls -la /path/to/file/.gitconfig)
Salem

-rw-rw-r-- 1 .gitconfig
codepros

คุณกำลังทำงานในฐานะผู้ใช้ที่ถูกต้องหรือไม่? ผู้ใช้คนใดเป็นเจ้าของ.gitconfig?
Flimm

คำตอบ:


14

ดูว่าเคล็ดลับใด ๆ เหล่านี้ช่วยคุณได้หรือไม่:

  1. ~/.gitconfig.lockตรวจสอบว่ามีไฟล์บางอย่างที่เรียกว่า หากเป็นเช่นนั้นให้ลบทิ้ง

  2. ไฟล์~/.gitconfigเป็นของคุณ (ใช้ls -la ~/.gitconfigเพื่อตรวจสอบ) หากคุณไม่สามารถเปลี่ยนการเป็นเจ้าของโดยใช้sudo chown <your_username>:<your_username> ~/.gitconfig

หากไม่มีสิ่งเหล่านี้แก้ปัญหาคุณสามารถแก้ไข ~ / .gitconfig ได้ตลอดเวลาโดยใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบ มันเป็นเพียงไฟล์ INI ที่ชอบ ตัวอย่าง:

$ cat ~/.gitconfig
[user]
    name = my_username
    email = me@email.com
[core]
    editor = editor
    pager = most
[color]
    ui = auto
[merge]
    conflictstyle = diff3

~/.gitconfigฉันสมมติว่าตำแหน่งที่ถูกต้องคือ หากไม่ใช่กรณีนั้นให้แทนที่ด้วยเส้นทางที่ถูกต้อง

หวังว่ามันจะช่วย


ไม่มีไฟล์ชื่อ. gitconfig.lock ในโฮมไดเร็กทอรีและ. gitconfig มีอยู่แล้ว ~ /
codepros

และ. gitconfig อยู่ที่ไหน ใน ~ / .gitconfig หากเป็นกรณีนี้ให้ลองแก้ไขด้วยมือ
เซเลม

@ ซาเลมฉันมี. gitconfig ใน ~ / แต่ยังคงมีข้อผิดพลาด คำแนะนำใด ๆ?
พฤหัสบดีที่

3

ในกรณีของฉันมีไฟล์.git/config.lockไฟล์อยู่ใน repo git ของฉัน ฉันลบไฟล์นั้นแล้วก็แก้ปัญหาได้


2

คุณต้องเป็นเจ้าของไดเรกทอรีที่. gitconfig อยู่ใน:

chown -R <user>.<user> /pathto/file/

นั่นคือสิ่งที่ได้ผลสำหรับฉัน


1

ปัญหาของฉันคล้ายกับของคุณ ฉันพบว่าผู้ใช้ "git" ไม่สามารถเข้าถึงโฮมไดเร็กตอรี่ของมันได้

ฉันทำchown -R git:git /mnt/sdb1/gitแล้วและนี่เป็นการแก้ไขข้อผิดพลาดการอนุญาต


0

สำหรับกรณีของฉัน~/.gitconfigไฟล์ของฉันกำลังชี้ (เชื่อมโยง) ไปยัง dotfiles เก่าของฉันซึ่งฉันย้ายไปยังตำแหน่งgitconfigอื่น

หากต้องการทราบว่าฉันเชื่อมgitconfigโยงไปยังที่ใดฉันls -la ~/.gitconfigแสดงให้เห็นว่ามันชี้ไปยังไฟล์ที่ฉันย้ายไปที่อื่น

ฉันต้องอัปเดตลิงก์สัญลักษณ์ไปยัง dotfiles ใหม่ของฉัน (dotfiles เป็นเพียงชื่อโฟลเดอร์ของไฟล์. smth ทั้งหมดของฉัน)

ในการอัพเดท symlink ฉันก็ทำได้ ln -sf ~/your-new/path-to/gitconfig.symlink ~/.gitconfig

ทุกอย่างทำงานได้ดี


0

ในกรณีของฉันข้อผิดพลาดคือ:

error: could not lock config file .git/config: No such file or directory

ฉันแก้ไขมันโดยสร้าง.gitไดเรกทอรี:

mkdir -p ~/.git

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.