Sự cố khi thiết lập lỗi git: không thể khóa tệp cấu hình


13

Tôi đang gặp lỗi này khi cố gắng đặt cấu hình chung:

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

và tập tin .gitconfig đã tồn tại, có ai có ý kiến ​​gì không ??


Bạn có quyền đọc / ghi trên tập tin đó không? (Kiểm tra sử dụng ls -la /path/to/file/.gitconfig)
Salem

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

Bạn đang chạy như người dùng chính xác? Người dùng nào sở hữu .gitconfig?
Flimm

Câu trả lời:


14

Xem nếu bất kỳ lời khuyên nào giúp bạn:

  1. Xác minh nếu có một số tệp được gọi ~/.gitconfig.lock. Nếu đó là trường hợp chỉ cần xóa nó.

  2. Các tập tin ~/.gitconfigthuộc về bạn (sử dụng ls -la ~/.gitconfigđể kiểm tra). Nếu không, bạn có thể thay đổi quyền sở hữu bằng cách sử dụngsudo chown <your_username>:<your_username> ~/.gitconfig

Nếu không có cách nào giải quyết được vấn đề, bạn luôn có thể chỉnh sửa ~ / .gitconfig bằng trình chỉnh sửa văn bản yêu thích của mình. Nó chỉ là một tập tin như INI. Một ví dụ:

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

Tôi đang giả định vị trí chính xác là ~/.gitconfig. Nếu đó không phải là trường hợp thay thế nó với đường dẫn chính xác.

Hy vọng nó giúp.


không có tệp có tên .gitconfig.lock trong thư mục chính và .gitconfig đã tồn tại ~ /
codepros

và .gitconfig ở đâu? Trong ~ / .gitconfig? Nếu đó là trường hợp thì hãy thử chỉnh sửa nó bằng tay.
Salem

@Salem, tôi có .gitconfig trong ~ / nhưng vẫn còn lỗi. Có lời khuyên nào không?
Uday

3

Trong trường hợp của tôi, có một tập .git/config.locktin tệp trong git repo của tôi. Tôi đã xóa tập tin đó và nó đã giải quyết vấn đề.


2

Bạn cần sở hữu thư mục chứa .gitconfig trong:

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

Đó là những gì làm việc cho tôi.


1

Vấn đề của tôi tương tự như của bạn. Tôi thấy rằng người dùng "git" không thể truy cập vào thư mục chính của nó.

Tôi đã làm chown -R git:git /mnt/sdb1/gitvà điều này đã giải quyết lỗi cho phép.


0

Đối với trường hợp của tôi, ~/.gitconfigtệp của tôi đã trỏ (liên kết tượng trưng) đến các dotfiles cũ của tôi, mà tôi đã chuyển đến một vị trí khác, có nghĩa gitconfiglà tệp đang trỏ đến một tệp không tồn tại.

Để biết nơi tôi gitconfigđược liên kết đến, tôi đã làm ls -la ~/.gitconfig, điều đó cho thấy rằng nó đang trỏ đến một tập tin mà tôi đã chuyển đi nơi khác.

Tôi đã phải cập nhật liên kết tượng trưng cho các dotfiles mới của mình (dotfiles chỉ là tên thư mục của tất cả các tệp .smth của tôi).

Để cập nhật symlink, tôi đã làm ln -sf ~/your-new/path-to/gitconfig.symlink ~/.gitconfig

Mọi thứ sau đó hoạt động tốt


0

Trong trường hợp của tôi, lỗi là:

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

Tôi đã giải quyết nó bằng cách tạo .gitthư mục:

mkdir -p ~/.git
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.