2015-11-24 13 views
5

Mam dwa zdalne repozytoria. Jeden jest prywatny (Bitbucket) i inny publiczny (Github). Wprowadzałem zmiany do Bitbucket, używając aplikacji Github, a następnie przesyłając ten sam commit do repozytorium Github za pomocą Xcode. Jednak niedawno byłem w stanie popchnąć zobowiązuje do Github i korzystania SourceTree otrzymuję komunikat o błędzie:Nie można PUSH ostatnie zatwierdzenia do Github, które zostały przekazane do Bitbucket

This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push. 

Jak to wygląda od wewnątrz SourceTree:

enter image description here

Jak mogę dostać moje repozytorium Github, aby zaakceptować ostatnie zatwierdzenia?

Odpowiedz

4

Masz pre-push hook, który mówi ci, że masz włączone git-lfs (obsługa dużych plików) dla tego repozytorium, ale nie może on znaleźć programu git-lfs na twoim komputerze. Rozwiązaniem jest usunięcie haka (który znajduje się w .git/hooks/pre-push, jak mówi komunikat o błędzie), lub naprawienie swojego PATH, aby mógł znaleźć program git-lfs.

+0

Ok. Jestem nowy w tym wydaniu. Jak mam naprawić swoją ścieżkę? Dzięki. – Jonathan

+0

'PATH' jest zmienną środowiskową zawierającą listę katalogów wyszukiwania używanych przez twoją powłokę w celu znalezienia uruchomionych programów. Sposób, w jaki to zmieniasz, zależy od używanego systemu operacyjnego i kilku innych szczegółów, ale większość systemów operacyjnych używa powłoki bash. Jeśli używasz powłoki bash, po prostu edytuj skrypt ~/.bashrc. Jest wiele miejsc, w których można znaleźć wszystkie szczegóły, które nie pasują do komentarza. – db48x

+0

Usunąłem .git/hooks/pre-push. Teraz mogę ponownie przesłać na github. Dlaczego Github zaczął dodawać pliki ".git/hooks/pre-push"? Czy muszę usuwać te pliki za każdym razem teraz? Kiedy używam pulpitu Github dla mac. Nie ma problemu. Kiedy używam wiersza poleceń, to nie działa. chyba że usunę wspomniany plik. Czy coś takiego powinno być włączone? – eonist

1

Wystarczy powiedzieć, że katalog .git znajduje się w oryginalnym katalogu lokalnym twojego repozytorium i prawdopodobnie potrzebujesz programu takiego jak TextWrangler lub podobny, który pokazuje ukryte pliki zaczynające się od kropki, aby móc zobacz go i usuń, przenosząc go do kosza (prawy przycisk myszy). Zrozumienie tego zajęło mi godzinę. Mam nadzieję, że nikt inny nie zmarnuje tego czasu.

+0

Dzięki za pomoc. – Lucas

0

Oto instrukcje usuwania pliku pre-push systemie Mac zacisk: pierwsze: cd do katalogu, który jest lokalnym repozytorium projektu. (Główny folder zawierający .xcodeproj i inne pliki) Plik .git jest ukryty, ale nadal można uzyskać do niego dostęp, wpisując w terminalu cd .git/hooks. Jeśli wpiszesz ls w terminalu, aby wyświetlić wszystkie pliki w bieżącym katalogu, zauważysz plik pre-push. Wpisz rm pre-push, aby usunąć plik. Powinieneś teraz móc przesłać do zdalnego repozytorium. Tylko pamiętaj, aby cd .. wrócić kilka razy do lokalnego katalogu projektu. Proste.

Powiązane problemy