Ocorreu um problema ao configurar o erro git: não foi possível bloquear o arquivo de configuração

13

Estou recebendo esse erro ao tentar definir a configuração global:

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

e o arquivo .gitconfig já existe, alguém tem alguma idéia?

codepros
fonte
Você tem permissão de leitura / gravação nesse arquivo? (Verifique usando ls -la /path/to/file/.gitconfig)
Salem
(rg-rw-r--) .gitconfig
codepros
Você está executando como o usuário correto? Qual usuário possui .gitconfig?
Flimm

Respostas:

14

Veja se alguma dessas dicas ajuda você:

  1. Verifique se há algum arquivo chamado ~/.gitconfig.lock. Se for esse o caso, basta excluí-lo.

  2. O arquivo ~/.gitconfigpertence a você (use ls -la ~/.gitconfigpara verificar). Caso contrário, você pode alterar a propriedade usandosudo chown <your_username>:<your_username> ~/.gitconfig

Se nada disso resolver o problema, você sempre poderá editar ~ / .gitconfig usando seu editor de texto favorito. É apenas um arquivo semelhante ao INI. Um exemplo:

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

Estou assumindo que o local correto é ~/.gitconfig. Se não for esse o caso, substitua-o pelo caminho correto.

Espero que ajude.

Salem
fonte
não há nenhum arquivo chamado .gitconfig.lock no diretório inicial e o .gitconfig já existe ~ /
codepros
e onde está o .gitconfig? Em ~ / .gitconfig? Se for esse o caso, tente editá-lo manualmente.
Salem
@ Salem, eu tenho o. Gitconfig no ~ / mas ainda assim o erro está lá. Algum conselho?
uday
3

No meu caso, há um .git/config.lockarquivo no meu repositório git. Excluí esse arquivo e ele resolveu o problema.

user3083108
fonte
2

Você precisa possuir o diretório em que .gitconfig está:

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

Foi o que funcionou para mim.

jorge
fonte
1

Meu problema foi semelhante ao seu. Eu descobri que o usuário "git" não pôde acessar seu diretório inicial.

Eu fiz chown -R git:git /mnt/sdb1/gite isso resolveu o erro de permissão.

Rafael Diego Nicoletti
fonte
0

No meu caso, meu ~/.gitconfigarquivo estava apontando (link simbólico) para meus antigos arquivos de ponto, que eu havia movido para um local diferente, o que significa que gitconfigestava apontando para um arquivo inexistente.

Para saber para onde meu gitconfiglink estava vinculado, eu sabia ls -la ~/.gitconfig, o que mostrava que estava apontando para um arquivo que eu havia movido para outro lugar.

Eu tive que atualizar o link simbólico para meus novos arquivos de ponto (dotfiles é apenas o nome de uma pasta de todos os meus arquivos .smth).

Para atualizar o link simbólico, eu fiz ln -sf ~/your-new/path-to/gitconfig.symlink ~/.gitconfig

Tudo então funcionou bem

Ruto Collins
fonte
0

No meu caso, o erro foi:

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

Eu o resolvi criando o .gitdiretório:

mkdir -p ~/.git
jessarah
fonte