2012-04-20 17 views
8

Mam dziwny problem. Korzystam z TortoiseGIT (Win7), a moje repozytoria są umieszczone na vritual serwerze (Debian), gdzie im używają klawiszy gitolite i SSH.Pull nie działa - TortoiseGIT/Windows 7/GIT na Debianie + gitolite

mogę clone repozytorium do mojego komputera, można uruchomić Fetch, Push, Commit, Sync .. wszystko, ale kiedy próbuje Pull zmiany z serwerem Pushed przez inne wpłacającego, pojawia się następujący błąd:

git.exe pull -v --progress  "origin" 
fatal: 'pull' appears to be a git command, but we were not 
able to execute it. Maybe git-pull is broken? 
git did not exit cleanly (exit code 128) 

Nie rozumiem, dlaczego po prostu polecenie pull nie działa .. dzięki za pomoc.

Mogę zrobić klon repozytorium, z wprowadzonymi zmianami .. ale nie mogę Pull zmian do utworzonego repozytorium na moim komputerze.

Odpowiedz

1

Komunikat o błędzie jest bardzo związana z Git, a pochodzi z help.c:

static const char bad_interpreter_advice[] = 
    N_("'%s' appears to be a git command, but we were not\n" 
    "able to execute it. Maybe git-%s is broken?"); 

który jest podobny do issue 40 (innego GUI tutaj terminal-ide).

W tym przypadku, to ze względu na instalację Git zdalnego, który był niekompletny

(Comments 3 of issue 19)

git seryjnej brakuje również instalacji, może być ustalona z

$> ln -s git git-merge 

w system/bin/

Uchwała może nie być dokładnie samo w twoim przypadku, ale może to być związane z wadliwej instalacji Git.

+0

dzięki za odpowiedź.jedyną rzeczą, jaką zrobiłem na moim wirtualnym serwerze, była aktualizacja componen (może pomogła). teraz działa dobrze. Nie wiem, o co chodzi, ale naprawdę doceniam twoją pomoc. Zapiszę twoją odpowiedź na przyszłość. – arnie

2

Usunięcie starego Git i ponowne zainstalowanie najnowszej wersji rozwiązało ten problem.

Oto link do instalatorów Link to get installers

Mój dokładny komunikat o błędzie

C:\Program Files (x86)\Git/libexec/git-core\git-pull: line 304: exec: git-merge: not found 
fatal: 'pull' appears to be a git command, but we were not 
able to execute it. Maybe git-pull is broken? 
13

I napotkał ten sam problem po zmianie wykonywalny sh.exe git bash, by być zawsze uruchamiane jako administrator (do obejść inny problem). Wtedy git nie mógł uzyskać do niego dostęp w pewnych scenariuszach i spowodował różne "Może git- * jest zepsuty?" błędy. Być może to może pomóc komuś ...

+0

Nie mogę ci wystarczająco podziękować! To było bardzo nieoczywiste rozwiązanie, twoja odpowiedź prawdopodobnie zaoszczędziła mi wiele godzin. Nawet ponowne zainstalowanie programu msysgit nie pomogło, najwyraźniej system Windows był mocno przywiązany do tego ustawienia, nawet jeśli plik wykonywalny został usunięty. – sundar

+0

Zakładam, że ten komunikat o błędzie może mieć wielu ojców, ale twoja odpowiedź go rozwiązała. Chcę tylko upewnić się, że ta odpowiedź zwróci uwagę na tych, którzy wpadli w tę samą pułapkę i sundar. Również, działo się to w Git Extensions dla mnie, a nie TortoiseGit – EatATaco

+1

+1 To jest odpowiedź. – fiberOptics

0

Widzę, że jesteś w stanie uruchomić "git fetch". Jeśli możesz również uruchomić "git merge", uruchomienie sekwencji "git fetch", a następnie "git merge" spowoduje to samo, co "git pull".

Źródło: http://git-scm.com/docs/git-pull

+1

Uruchom 'git config --global merge.defaultToUpstream true', aby naprawdę naśladować zachowanie' git pull ' –

+0

+1 Znacznie czystsze – CW0lf

Powiązane problemy