Проблема з налаштуванням помилки 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)
Салем,

-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? Якщо це так, то спробуйте відредагувати його вручну.
Салем

@Salem, у мене є .gitconfig в ~ /, але все ж помилка є. Будь-яка порада?
удень

3

У моєму випадку .git/config.lockв моєму git repo є файловий файл. Я видалив цей файл, і він вирішив проблему.


2

Вам потрібно володіти каталогом, де знаходиться .gitconfig:

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

Ось що для мене спрацювало.


1

Моя проблема була схожа на вашу. Я виявив, що користувач "git" не зміг отримати доступ до свого домашнього каталогу.

Я це зробив, chown -R git:git /mnt/sdb1/gitі це вирішило помилку дозволу.


0

У моєму випадку мій ~/.gitconfigфайл був спрямований (позначений посиланням) на мої старі точкові файли, які я перемістив в інше місце, тобто означає, що gitconfigвказував на неіснуючий файл.

Щоб знати, де моє посилання gitconfigбуло, я зробив це ls -la ~/.gitconfig, що показало, що воно вказує на файл, який я перемістив в інше місце.

Мені довелося оновити символічне посилання на мої нові dotfiles (dotfiles - це лише назва папки всіх моїх .smth файлів).

Щоб оновити симпосилання, я зробив 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

0

У моєму випадку мені довелося видалити File config.lock всередині мого сховища git .git / folder.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.