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?

codepros
źródło
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 = [email protected]
[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.

Salem
źródło
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.

użytkownik3083108
źródło
2

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

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

To działało dla mnie.

Jorge
źródło
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ń.

Rafael Diego Nicoletti
źródło
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

Ruto Collins
źródło
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
Jessara
źródło
0

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

StandardNerd
źródło