Jestem początkującym Gitem. Niedawno przeniosłem projekt Rails z Subversion do Git. Wykonałem samouczek tutaj: http://www.simplisticcomplexity.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/
Używam też unfuddle.com do przechowywania mojego kodu. Wprowadzam zmiany na moim laptopie Mac w pociągu do / z pracy, a następnie popycham je, aby się rozłączyły, gdy mam połączenie sieciowe, używając następującego polecenia:
git push unfuddle master
Używam Capistrano do wdrożeń i ściągam kod z repozytorium rozwijanego za pomocą gałęzi master.
Ostatnio zauważyłem następujący komunikat, gdy uruchamiam „git status” na moim laptopie:
# On branch master
# Your branch is ahead of 'origin/master' by 11 commits.
#
nothing to commit (working directory clean)
I jestem zdezorientowany, dlaczego. Myślałem, że mój laptop jest źródłem ... ale nie wiem, czy to fakt, że pierwotnie wycofałem się z Subversion lub nacisnąłem Unfuddle, jest przyczyną tego, że komunikat się pojawia. Jak mogę:
- Dowiedz się, gdzie Git uważa, że jest „pochodzenie / mistrz”?
- Jeśli jest gdzie indziej, jak mogę zmienić laptopa w „origin / master”?
- Dostań tę wiadomość, aby odejść. To sprawia, że myślę, że Git jest z czegoś niezadowolony.
Na moim komputerze Mac działa Git w wersji 1.6.0.1.
Po uruchomieniu git remote show origin
zgodnie z sugestią dbr otrzymuję następujące informacje:
~/Projects/GeekFor/geekfor 10:47 AM $ git remote show origin
fatal: '/Users/brian/Projects/GeekFor/gf/.git': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
Kiedy uruchamiam git remote -v
zgodnie z sugestią Aristotle Pagaltzis, otrzymuję następujące informacje:
~/Projects/GeekFor/geekfor 10:33 AM $ git remote -v
origin /Users/brian/Projects/GeekFor/gf/.git
unfuddle git@spilth.unfuddle.com:spilth/geekfor.git
Co ciekawe, pracuję nad moim projektem w geekfor
katalogu, ale mówi, że moje pochodzenie to moja lokalna maszyna w gf
katalogu. gf
Wydaje mi się, że był to katalog tymczasowy, którego użyłem podczas konwersji mojego projektu z Subversion na Git i prawdopodobnie tam, gdzie naciskałem, aby się rozwinąć. Potem wydaje mi się, że sprawdziłem świeżą kopię z rozwijanej do geekfor
katalogu.
Wygląda na to, że powinienem postępować zgodnie z radą dbr i zrobić:
git remote rm origin
git remote add origin git@spilth.unfuddle.com:spilth/geekfor.git
origin
repozytorium (chociaż nie jest świadomy tego, jak to działa w kategoriach git) - usunięcie pilota nie byłoby dla niego zbyt przydatne.