2013-08-03 13 views
10

Jestem zupełnie nowy w git. Pracuję w Mac Terminal.Git śledzenie całego katalogu domowego. Błąd - fatalny: zła domyślna wersja "HEAD"

Ilekroć wykonuję git status w moim katalogu domowym, wyświetlane są wszystkie niepobrane pliki, pliki w katalogu stage i zatwierdzone pliki w moim katalogu domowym. Kiedy robię git log w moim katalogu domowym, pojawia się następujący błąd:

śmiertelny: bad domyślna wersja „Head”

Jak mogę iść o sprostowanie tego błędu? Jak zmusić gita do zaprzestania śledzenia zawartości mojego katalogu domowego bez wpływu na jego aktualny stan?

Z góry dziękuję i przepraszam za moją niewiedzę. Po prostu nie chcę robić niczego, co mogłoby potencjalnie uszkodzić mój katalog domowy.

Kiedy wchodzę git status w głównym katalogu, mam następujące:

~ (master) > Kojo$ git status 
On branch master 

Initial commit 

Changes to be committed: 
    (use "git rm --cached <file>..." to unstage) 

    new file: Desktop/Classes/Person.cpp 
    new file: Desktop/Classes/Person.h 
    new file: Desktop/Classes/Tweeter.cpp 
    new file: Desktop/Classes/Tweeter.h 
    new file: Documents/AoGPMidterm/xcode/TriMesh.h 
    new file: Projects/Testing/Testing/ConditionalClass.cs 
    new file: Projects/Testing/Testing/Lucky_Num.cs 
    new file: Projects/Testing/Testing/NewEnum.cs 

Changes not staged for commit: 
    (use "git add/rm <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

    deleted: Desktop/Classes/Person.cpp 
    deleted: Desktop/Classes/Person.h 
    deleted: Desktop/Classes/Tweeter.cpp 
    deleted: Desktop/Classes/Tweeter.h 
    modified: Documents/AoGPMidterm/xcode/TriMesh.h 
    modified: Projects/Testing/Testing/Lucky_Num.cs 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    .3dequalizer/ 
    .Assimilate/ 
    .CFUserTextEncoding 
    .MacOSX/ 
    .adobe/ 
    .android/ 
    .appletviewer 
    .bash_git 
    .bash_history 
    .bash_profile 
    .bashrc 
    .bashrcecho 
    .bitrock/ 
    .cache/ 
    .codeintel/ 
    .config/ 
    .cptzzscn 
+1

Czy właśnie utworzyłeś to repozytorium? Czy zrobiłeś już jakieś poprawki? Zazwyczaj ludzie otrzymują 'fatal: złą domyślną rewizję 'HEAD'', gdy nie ma jeszcze żadnych zatwierdzeń w repozytorium. Proszę podać wynik statusu 'git'. –

+0

Myślę, że mogłem utworzyć repo mojego głównego katalogu przez pomyłkę. Główny katalog jest wymieniony jako "master". Oto dane wyjściowe, które otrzymuję, gdy wykonuję "status git": –

+0

Proszę podać dokładne polecenia, które zostały użyte do utworzenia repo. Zmodyfikuj też swoje pytanie, aby uwzględnić wszystkie nowe informacje. –

Odpowiedz

16

Przyczyną tego błędu jest, ponieważ nie dokonały wstępnej popełnić. Ale wygląda na to, że zainicjowałeś repozytorium git w niewłaściwym katalogu.

Wygląda na to, że uruchomiono komendę git init w niewłaściwym katalogu. Przejdź do katalogu, w którym pierwotnie uruchomiłeś to polecenie (Wygląda na to, że był to katalog domowy).

Uruchom ls -la, aby wyświetlić wszystkie pliki w bieżącym katalogu. Powinieneś zobaczyć katalog .git. Zawiera wszystkie dane git używa do śledzenia pracy dla repozytorium. Usuń, że wrócisz tak jak przed rozpoczęciem git. Ponieważ nie wykonałeś żadnej pracy na repozytorium, możesz bezpiecznie go usunąć.

W przyszłości powinieneś uruchomić git init w folderze przeznaczonym dla projektu, nad którym pracujesz. Wszystkie pliki i podzbiory w tym folderze powinny być dla twojego projektu.

Jeśli dopiero zaczynasz używać gita, bardzo polecam Pro Git book, dostępny za darmo online.

+0

Dziękujemy! Dokładnie to zrobiłem.Uruchomiłem polecenie 'ls -la' na terminalu, zlokalizowałem katalog .git i usunąłem go. Czuję się głupio, że popełniłem błąd. Nie było moim zamiarem utworzenie repozytorium w moim katalogu domowym. Właśnie zacząłem czytać Pro Git. Dziękuję, RyPeck - i - dziękuję babeczce za próbę pomocy. Twoje zdrowie! –

+1

@KojoOpuni Ponieważ czytasz Pro Git, polecam rozdziały 1-3 i 6-6.5. Większość tej wiedzy o Git dowiedziałem się z tej książki. Pamiętaj, aby nauczyć się rebase, zarówno interaktywnie, jak i nieinteraktywnie. –

7

Nie jestem pewien, czy to jest to, co wydarzyło się w twoim przypadku, ale można dostać się komunikat o błędzie z git log

fatal: bad default revision 'HEAD'

jeśli właśnie dokonałeś repozytorium i nie wprowadziłeś jeszcze żadnych zobowiązań. Jeśli jest to Twoja sprawa, wystarczy dodać pliki, popełnić je i zrobić dziennik ponownie:

$ git add "*" 
$ git commit -m "Your commit message" 
$ git log 
+2

Miał ten sam problem. Naprawiono przez dokonanie wstępnego zatwierdzenia: 'git commit -m 'initial commit' --allow-empty' –

Powiązane problemy