Problem z konfiguracją błędu git: nie można zablokować pliku konfiguracyjnego


13

Podczas próby ustawienia konfiguracji globalnej pojawia się ten błąd:

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

a plik .gitconfig już istnieje, ktoś ma jakieś pomysły?


Czy masz uprawnienia do odczytu / zapisu tego pliku? (Sprawdź za pomocą ls -la /path/to/file/.gitconfig)
Salem

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

Czy działasz jako właściwy użytkownik? Który użytkownik jest właścicielem .gitconfig?
Flimm,

Odpowiedzi:


14

Sprawdź, czy którakolwiek z tych wskazówek pomoże ci:

  1. Sprawdź, czy istnieje jakiś plik o nazwie ~/.gitconfig.lock. W takim przypadku wystarczy go usunąć.

  2. Plik ~/.gitconfignależy do Ciebie (użyj, ls -la ~/.gitconfigaby sprawdzić). Jeśli nie, możesz zmienić właściciela za pomocąsudo chown <your_username>:<your_username> ~/.gitconfig

Jeśli żadne z nich nie rozwiązuje problemu, zawsze możesz edytować ~ / .gitconfig za pomocą swojego ulubionego edytora tekstu. To tylko plik typu INI. Przykład:

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

Zakładam, że poprawna lokalizacja to ~/.gitconfig. Jeśli tak nie jest, zastąp go prawidłową ścieżką.

Mam nadzieję, że to pomoże.


w katalogu domowym nie ma pliku o nazwie .gitconfig.lock, a .gitconfig już istnieje ~ /
codepros

i gdzie jest .gitconfig? W ~ / .gitconfig? W takim przypadku spróbuj edytować go ręcznie.
Salem,

@Salem, mam plik .gitconfig w ~ /, ale nadal występuje błąd. Jakakolwiek rada?
uday

3

W moim przypadku .git/config.lockw moim repozytorium git znajduje się plik . Usunąłem ten plik i to rozwiązało problem.


2

Musisz posiadać katalog, w którym znajduje się .gitconfig:

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

To działało dla mnie.


1

Mój problem był podobny do twojego. Odkryłem, że użytkownik „git” nie mógł uzyskać dostępu do swojego katalogu domowego.

Zrobiłem chown -R git:git /mnt/sdb1/giti to rozwiązało błąd uprawnień.


0

W moim przypadku mój ~/.gitconfigplik wskazywał (symlinkował) moje stare pliki dot, które przeniosłem w inne miejsce, co oznacza, że gitconfigwskazuje na nieistniejący plik.

gitconfigZrobiłem to ls -la ~/.gitconfig, aby dowiedzieć się, gdzie mój symbol jest dowiązany , co wskazuje, że wskazuje on plik, który przeniosłem gdzie indziej.

Musiałem zaktualizować symboliczny link do moich nowych plików dotfiles (dotfiles to po prostu nazwa folderu wszystkich moich plików .smth).

Aby zaktualizować dowiązanie symboliczne, zrobiłem to ln -sf ~/your-new/path-to/gitconfig.symlink ~/.gitconfig

Wszystko wtedy działało dobrze


0

W moim przypadku błąd był następujący:

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

Rozwiązałem to, tworząc .gitkatalog:

mkdir -p ~/.git

0

W moim przypadku musiałem usunąć plik config.lock z mojego folderu git repozytorium .git /.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.