Przedstawiam się Gitowi, wykonując ten samouczek:
Wszystko działa dobrze do momentu dodania repo do mojej lokalnej maszyny:
git remote add nfsn ssh://USERNAME@NFSNSERVER/home/private/git/REPONAME.git
(Po zastąpieniu USERNAME, NFSNSERVER i REPOAME poprawnymi nazwami) pojawia się błąd:
fatal: Not a git repository (or any of the parent directories): .git
Czy możesz mi pomóc przejść ten krok?
git init
ale upewnij się również, że żaden z podkatalogów nie ma własnego.git
folderuOdpowiedzi:
Czy zainicjowałeś lokalne repozytorium Git, do którego ten pilot ma zostać dodany?
Czy twój katalog lokalny ma
.git
folder?Spróbować
git init
.źródło
.git
folder zniknął. Togit init
samo co usunięcie folderu repozytorium, a następniegit clone ...
. Wszystko, co muszę zrobić, topull
.git
folder zniknął, możesz uruchomićgit init
ponownie, aby utworzyć nowy. Musisz jednak ponownie dodać pilota, aby móc z niego wyciągnąć.jalal@klein:~/computer_vision/py-faster-rcnn$ git add -A fatal: Not a git repository: caffe-fast-rcnn/../.git/modules/caffe-fast-rcnn
Ten błąd pojawi się, jeśli spróbujesz użyć polecenia Git, gdy bieżący katalog roboczy nie znajduje się w repozytorium Git. Jest tak, ponieważ domyślnie Git będzie szukał
.git
katalogu repozytorium (wewnątrz katalogu głównego projektu?), Jak wskazano w mojej odpowiedzi na „Git nie wyświetli dziennika, chyba że jestem w katalogu projektu” :Musisz albo przejść
cd
do repozytorium / kopii roboczej, albo nie zainicjowałeś ani nie sklonowałeś repozytorium w pierwszej kolejności, w takim przypadku musisz zainicjować repozytorium w katalogu, w którym chcesz umieścić repozytorium:lub klonowanie repozytorium
źródło
git init
. Po przeczytaniu odpowiedzi na swoje pytanie, kiedyś to wiele razy na repozytoriach, że zrobił klona, ale nie zostały rozpoznane. Wygląda na to, że jest bezpieczny, gdy jest uruchamiany z drzewa katalogów, które powinno byćgit repository
, ma wszystkie pliki w katalogu git, ale twierdzi, że nie jestfatal: Not a git repository (or any parent up to mount point
Mój problem polegał na tym, że w przypadku niektórych problemów z moim systemem operacyjnym dowolne polecenie w moim lokalnym repozytorium zakończyło się słowem „fatal: Nie repozytorium git (ani żadnego z katalogów nadrzędnych): .git”, z dołączoną komendą fsck.
Problemem był pusty plik HEAD .
Byłem w stanie znaleźć rzeczywistą nazwę oddziału, nad którym pracowałem w .git / refs / heads, a następnie zrobiłem to:
Zadziałało.
źródło
UWAGA: nie jest to odpowiedź na typowy problem, który był problemem OP, ale na inny problem, w którym może pojawić się ten komunikat o błędzie. Nie miałem ochoty zadawać nowych pytań, żeby zapisać tę odpowiedź, powiedz, czy powinienem to zrobić zamiast tego: P.
Doszedłem do sytuacji, najprawdopodobniej z powodu zepsucia niektórych wypadków, które miałem, że dostałem ten błąd, nawet gdy
.git
istniał.Ponieważ nie miałem niczego, co naprawdę wymagałoby konserwacji, po prostu poszedłem obojętnie i ...
Nadal nie działa, jak na przykład
git log
zwracafatal: bad default revision 'HEAD'
. Były tam jednak piloty , więc zrobiłem to,git fetch --all
a potem tylko po to,git reset --hard origin/master
aby przejść do stanu, w jakim było repo.Zauważ, że jeśli istnieje jakieś niezatwierdzone zmiany, można zobaczyć je
git status
,git diff
i tak dalej. Następnie tużgit diff yourfile > patch
przed uruchomieniem resetowania.Przynajmniej dla mnie reflog (
git reflog
) całkowicie zniknął. Dlatego jeśli wykonasz reset, a były pewne zmiany, którym chciałeś zapobiec, nie jestem pewien, czy możesz je odzyskać po resecie. Upewnij się więc, że masz kopię zapasową wszystkich zmian, których nie możesz utracić, ostatecznie kopiując klon przed wypróbowaniem tego.źródło
git init
igit fetch --all
naprawiono go.Po prostu wpisz następujące polecenie w powłoce cmd lub git lub dowolnym innym terminalu:
źródło
Ten problem pojawił się po przeniesieniu lokalizacji projektu git w systemie plików. Gdy uruchomiłem kilka poleceń git, wystąpił błąd, np .:
Znalazłem w
/home/rospasta/path_old/gitprojecta/.travis/.git
absolutnej ścieżce starej lokalizacji projektu został napisany. Ręczne zaktualizowanie tej ścieżki nowej lokalizacji rozwiązało problem.Więc mój problem może, ale nie musi być problemem git, ale HTH.
źródło
Jeśli to pomaga komuś innemu, ten komunikat o błędzie pojawia się po przypadkowym usunięciu .git / objects /
Przywrócenie go rozwiązało problem.
źródło
W wierszu poleceń / CLI pojawi się ten błąd, jeśli bieżący katalog NIE jest repozytorium. Musisz więc najpierw włożyć CD do repozytorium.
źródło
Prawdopodobnie za późno, ale inne rozwiązanie, które może pomóc przyszłym użytkownikom. Najpierw usuń stary
.git
katalog -Następnie ponownie zainicjuj repozytorium git
źródło
fatal
błąd, mimo że.git
folder istnieje.Wygląda na to, że nie idziesz do określonego folderu. Na przykład, jeśli pracuję nad projektem o nazwie bugsBunny i jest on zapisany w folderze d: / work: code, więc najpierw musisz przejść do tego folderu za pomocą cd d: / work / code / bugsBunny, a następnie może nadal używać poleceń git.
źródło
Nawet ja miałem ten sam problem. Napisałem skrypt powłoki, który wykona kopię zapasową wszystkich moich kodów na moim repozytorium git w dni robocze w tygodniu o 17:55 za pomocą crontab. widząc dzienniki crona znalazłem wyżej wspomniany problem.
powyższy problem pojawia się tylko wtedy, gdy próbujesz wykonać polecenia git z katalogu innego niż gir (tj. z innego katalogu, który nie jest kopią roboczą). aby naprawić ten dodatek
-C <git dir>
w wykonywanym poleceniu git w taki sposób,git status
aby byłgit -C /dir/to/git status
igit add -A
będziegit -C /dir/to/git -A
.źródło
W moim przypadku użyłem Tortoise SVN i popełniłem błąd, używając jednocześnie funkcji Visual Studio GIT. To spowodowało, że Visual Studio zablokował plik HEAD w folderze .git, aby ani VS, ani Tortoise nie miały dostępu do repozytorium, i wystąpił błąd „fatal: Not a git repo ...” z obu aplikacji.
Rozwiązanie:
źródło
W tym celu należy wprowadzić jedno polecenie, którego brakuje w poleceniach bitbucket
Spróbuj git init.
źródło
w moim przypadku miałem ten sam problem podczas wypróbowywania dowolnych poleceń git (np. status git) za pomocą Windows cmd. więc po zainstalowaniu git dla okna https://windows.github.com/ w zmiennych środowiskowych dodaj ścieżkę klas git do zmiennej „PATH”. zazwyczaj git zostanie zainstalowany na C: / user / "username" / appdata / local / git / bin dodaj to do PATH w zmiennej środowiskowej
i jeszcze jedna rzecz na cmd przejdź do repozytorium git lub płyty CD, gdzie klon znajduje się w twoim oknie, zwykle będą one przechowywane w dokumentach pod github cd Document / Github / twój projekt, po czym możesz mieć dowolne polecenia git
Dziękuję Ci
źródło
Przejdź do folderu źródłowego, w którym przechowywane jest lokalne repo, przykład mój znajduje się w c: / GitSource, kliknij prawym przyciskiem myszy w folderze, kliknij tutaj git bash, a następnie status git ...
źródło
GIT_DIR powinien być rozbrojony:
unset GIT_DIR
źródło
W moim przypadku plik .git / HEAD był uszkodzony (zawierał tylko kropki). Zredagowałem go i zastąpiłem jego treść:
ref: refs/heads/master
i znów zaczęło działać.
źródło
Dla mnie było to związane ze zniekształconą własnością na mojej
.git/
ścieżce.root
będący własnością użytkownika.git/HEAD
i.git/index
uniemożliwiający mujenkins
uruchomienie zadania.źródło
.git/HEAD
i.git/index
doroot:root
, nadal jestem w stanie dodać piloty bez błędu. Kiedy zmienić właściciela całego.git
katalogu doroot
otrzymuję inny błąd:error: could not lock config file .git/config: Permission denied
.Poniższy błąd wydaje się, że Gits nie znalazł pliku .git w bieżącym katalogu, więc zgłasza komunikat o błędzie.
Dlatego zmień katalog na katalog repozytorium, w którym masz kod z git, a następnie uruchom tę komendę.
źródło
W moim przypadku okazało się, że git w Windows stał się wrażliwy na wielkość liter dla litery dysku.
Po aktualizacji git binary w Windows polecenia cli, które kiedyś działały, zostały zatrzymane. na przykład ścieżka w skrypcie to D : \ bla \ file.txt, podczas gdy polecenie git akceptuje tylko d : \ bla \ file.txt
źródło
git działał dobrze na be i nagle zaczął to pokazywać
fatal: Not a git repository (or any of the parent directories): .git
komunikat.Dla mnie nie jestem pewien, co zostało uszkodzone w folderze .git, zrobiłem to
git clone ** newfolder
i skopiowałem cały folder .git do mojego uszkodzonego / starego folderu, w którym wprowadzałem zmiany, zanim git zaczął wyświetlać komunikat o błędzie ..Wszystko wróciło do normy i git rozpoznał także moje zmienione / nieaktualizowane pliki.
źródło
przywróć
.git/ORIG_HEAD
i inne główne pliki repozytoriów .gitWystąpił ten błąd po przywróceniu z kopii zapasowej, najwyraźniej pliki zawarte w katalogu głównym katalogu .git nie dotarły do celu, ale wszystkie podfoldery zrobiły to na początku, myślałem, że repo jest nienaruszone.
Naprawiłem to, przywracając pliki root.
źródło
Miałem ten problem z wtyczką Jenkins Git po problemach z uwierzytelnianiem w GitLab. Jenkins zgłaszał „hudson.plugins.git.GitException: [...] stderr: GitLab: Nie można znaleźć projektu, którego szukasz. fatal: Nie można odczytać ze zdalnego repozytorium. ”
Jednak jeśli zrobiłem „git clone” lub „git fetch” bezpośrednio z pola Jenkinsa (linia poleceń), działałoby to bez problemu.
Problem został rozwiązany przez usunięcie całego katalogu / workspace w folderze zadań Jenkins dla tego konkretnego zadania, np
Prawdopodobnie lokalny folder .git stał się nieaktualny / uszkodzony?
źródło
Może to również wynikać z uprawnień. Sprawdź uprawnienia właściciela / grupy i upewnij się, że masz odpowiednie uprawnienia dostępu do tych danych. W moim przypadku ten błąd wystąpił podczas uruchamiania „statusu git” w repozytorium, którego własność ustawiono na root: root. Uruchamianie „statusu git” jako root rozwiązało mój problem. Alternatywnie, jeśli nie chcesz, aby własność użytkownika / grupy była rootem: root, przejdź do repozytorium do czegoś, do czego masz dostęp.
źródło
Miałem ten problem i naprawiłem go, dodając plik README.md
źródło
W moim przypadku awaria systemu spowodowała uszkodzenie pliku HEAD. Ten przewodnik pokazuje, jak rozwiązać ten i inne problemy, które możesz napotkać.
https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html
źródło