Проблема с настройкой git error: не удалось заблокировать файл конфигурации


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-репозитории есть файл . Я удалил этот файл, и он решил проблему.


2

Вам нужен собственный каталог, в котором находится .gitconfig:

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

Вот что сработало для меня.


1

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

Я сделал, chown -R git:git /mnt/sdb1/gitи это решило ошибку разрешения.


0

В моем случае мой ~/.gitconfigфайл указывал (имел ссылки) на мои старые файлы точек, которые я переместил в другое место, то есть gitconfigуказывал на несуществующий файл.

Чтобы узнать, где моя gitconfigссылка была символической, я узнал ls -la ~/.gitconfig, что показывало, что она указывает на файл, который я переместил в другое место.

Мне пришлось обновить символическую ссылку на мои новые точечные файлы (точечные файлы - это просто имя папки всех моих файлов .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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.