fatal: can not create work tree reż „kivy”


91

Próbuję sklonować mój fork kivy gita, ale to nie działa. Wydaje mi się, że widelec został wykonany poprawnie, ale kiedy wpisuję to w terminalu Mac:

klon git https://github.com/mygitusername/kivy.git

Otrzymuję ten błąd:

fatal: could not create work tree dir 'kivy .: Permission denied

Czy ktoś widzi, co robię źle? Dzięki!

Odpowiedzi:


128

Powinieneś wykonać polecenie w katalogu, w którym masz uprawnienia do zapisu. Więc:

cd ~/
mkdir code
cd code
git clone https://github.com/kivy/kivy

Na przykład.


2
dzięki kolego .. Po prostu pomyliłem się, dlaczego nie mogę sklonować projektu, a potem zdałem sobie sprawę, że htmlfolder nie ma pozwolenia
Fai Zal Dong

42

Twój bieżący katalog nie ma uprawnień do zapisu / tworzenia, aby utworzyć kivykatalog, dlatego występuje ten problem.

Twój aktualny katalog 777 daje prawa i wypróbuj go.

sudo chmod 777 DIR_NAME
cd DIR_NAME
git clone https://github.com/mygitusername/kivy.git

9
777 to naprawdę zły pomysł, aby dać dostęp wszystkim, nie tylko użytkownikowi i grupie. Inni też.
rhand

18

W moim przypadku zdarzyło się, że użytkownik, którego używałem, nie miał prawa własności do katalogu. Po prostu musiałem zmienić prawo własności do katalogu na tego użytkownika. Na przykład, jeśli użytkownik jest ubuntu:

chown ubuntu:ubuntu -R directory-in-question

cd directory-in-question/

git clone <git repo comes here >

Dziękuję Ci! Świetne rozwiązanie :)
Jakub Bielan

7

Jeśli pracujesz w systemie Windows, musisz zmienić uprawnienia katalogu, wprowadzając pełne uprawnienia lub po prostu pisać, aby umożliwić github sklonowanie repozytorium. Kroki są następujące:

  1. Przejdź do swojego katalogu
  2. otwarte nieruchomości
  3. przejdź do zakładki „bezpieczeństwo”
  4. zmienić uprawnienia
  5. zastosować

2

Dla innych początkujących (takich jak ja) Jeśli używasz systemu Windows z gitem jako administrator, również rozwiązuje problem.


2

Zakładając, że korzystasz z systemu Windows, uruchom aplikację jako administrator.

W tym celu masz co najmniej dwie opcje:

• Otwórz lokalizację pliku, kliknij prawym przyciskiem myszy i wybierz „Uruchom jako administrator”.

Uruchom Git Bash jako administrator

• Korzystając z menu Start systemu Windows, wyszukaj „Git Bash”, a znajdziesz:

Git Bash za pomocą menu Start systemu Windows

Następnie po prostu naciśnij „Uruchom jako administrator”.


1
@Goncalo Peres, dzięki za zaktualizowanie odpowiedzi
Naveen Mosuru

1

Katalog, w którym próbujesz zapisać plik lub pobrać klon repozytorium git, nie ma uprawnień do zapisu. Dlatego pojawia się ten problem.
Zmień uprawnienia zapisu katalogu.
Następnie sklonuj repozytorium.


1

Dzieje się tak również podczas klonowania repozytorium bez wybierania katalogu roboczego. po prostu upewnij się, że przeszedłeś cddo katalogu roboczego i uważam, że będzie działać dobrze.


1

Jeśli pracujesz na komputerze Mac, jest to prawdopodobnie spowodowane tym, że nie masz uprawnień do zapisu w katalogu. Kiedy miałem ten problem, wykonałem następujące kroki:

  • Otworzyłem folder w wyszukiwarce -> kliknij prawym przyciskiem myszy -> uzyskaj informacje -> kliknij kłódkę w prawym dolnym rogu wyskakującego okienka, wprowadź hasło administratora -> następnie zmień Udostępnianie i uprawnienia do odczytu i zapisu dla koła i wszystkich -> kliknij ponownie blokadę, aby zapisać

0

Miałem ten sam błąd w Debianie i wszystko, co musiałem zrobić, to:

sudo su

a następnie ponownie uruchom polecenie i zadziałało.


0

Musisz upewnić się, że jesteś w katalogu, w którym masz uprawnienia do zapisu. Może to nie być katalog, w którym znajduje się Git po otwarciu terminala. W moim przypadku (Wdowy 10) musiałem użyć polecenia cd, aby zmienić katalog na katalog główny (C :) Po tym działało dobrze.


-2

Wszystko, co musisz zrobić, to uruchomić terminal jako administrator. w moim przypadku tak rozwiązuję swój problem.


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.