2011-11-29 16 views
12

Nie jestem pewien, co się stało, ale gdy próbuję popełnić moje zmiany w Xcode DostajęXcode commit brakuje pliku lub katalogu

krytyczny: Nie można przełączyć na „/ Users/charlesbutler/Xcode/MA Mobile/MA MobileTests ": Brak takiego pliku lub katalogu

Mam wiele takich plików.

Czy jest coś, co mogę zrobić, aby usunąć je z popełnienia. Wiele z nich zostało usuniętych (prawdopodobnie ręcznie w folderze projektu przeze mnie)

+1

Jeśli możesz pomóc, nie używać Xcode jest git „integracja” . Jest to całkowicie okropne; skłonny do nadpisywania całych plików podczas konfliktu, zatwierdzania ignorowanych plików, odmowy naciśnięcia lub wyciągnięcia, gdy ignorowane pliki nie są zatwierdzone, i tak dalej. * Cała reszta * jest ważnym wprowadzeniem. – ssube

Odpowiedz

23

To mi się po prostu przydarzyło. Usunąłem folder z zawartością z folderu projektu. Xcode nie radził sobie tak dobrze.

To, co udało się naprawić, to odtworzyć pusty folder o tej samej nazwie. Nie trzeba odtwarzać jego zawartości.

Uważam, że w twoim przypadku wystarczy utworzyć nowy pusty folder "MA Mobile" w tym samym miejscu, w którym był stary. Następnie zatwierdz. To zadziałało dla mnie.

Po pierwszym zatwierdzeniu usunąłem nowy folder, a następnie zatwierdzono ponownie. Wygląda na to, że Xcode brakuje logiki do obsługi usuwania całego folderu z zawartością.

+0

Dziękujemy! Zaoszczędziłem wiele godzin zabawy. – deijmaster

+0

Uwaga do mojego komentarza ... wydaje się, że ta sytuacja zdarza się częściej, gdy umieszczam mój lokalny git na Apple iCloud Drive ... Jedzenie do przemyślenia. – deijmaster

2

Zakładając, że korzystasz z GIT - uruchom następujące polecenie w linii poleceń;

cd "/Users/charlesbutler/xCode/MA Mobile" 
git rm -r "MA MobileTests" 
+0

Po prostu pojawia się błąd ... (jestem naprawdę nowy w tym wydaniu) fatal: Nie jest repozytorium git (ani żadnym z katalogów nadrzędnych): .git – Hackmodford

+0

Będziesz musiał wykonać to polecenie z poziomu twojego projektu folder ('/ Users/charlesbutler/xCode/MA Mobile' Chyba) – Till

+0

Teraz mówi " Fatal: pathspec "MA MobileTests" nie pasuje do żadnego pliku " Próbowałem nawet wstawić fałszywy folder z fałszywą zawartością (stara kopia tego, co było) i nadal nie działała. – Hackmodford

22

Jeśli chcesz po prostu zatwierdzić wszystkie wprowadzone zmiany, zrób to za pośrednictwem Terminala, aby rozwiązać problem.

Otwórz aplikację Terminal i cd do katalogu projektu, raz tam wpisać w następującym poleceniem:

git commit -a 

Podaj swój popełnić wiadomość przez naciśnięcie „i” i wpisując go, a następnie naciśnij przycisk „Esc” następnie ":" i wpisz "wq"

Wszystko gotowe, problem powinien zostać naprawiony.

+0

Po "git commit -a" mój edytor tekstu pojawił się. Wystarczy włożyć tam wiadomość, zapisać i zamknąć plik. – Abramodj

0

Miałem ten problem po dodaniu, a następnie usunięciu podprojektów w projekcie, który był pod kontrolą źródła.

Naprawiłem go za pomocą aplikacji GitX, wybierając Commit View, UN-wystawiając się teraz bez plików, istniejących z listy Staged Changes, a następnie wybierając Discard Changes dla tych samych plików na liście Unstaged Changes.

Następnie musiałem usunąć repozytorium z ekranu Xcode Organiser-Repositories i ponownie uruchomić Xcode, zanim wszystko znowu działało poprawnie. Xcode automatycznie ponownie doda repozytorium z powrotem, gdy projekt zostanie ponownie otwarty.

Może ktoś z doświadczeniem GIT może stanowić alternatywę wiersza poleceń, który wykonuje „Odrzuć wszystkie zmiany, które nie są już obecne na dysku” działania

0

ja miałem ten problem, bo jakoś folder projektu dodano do .gitignore, usunąłem go stamtąd i popełniłem brakujące pliki. Xcode nie pokazał mi, że folder był w gitignore lub w inny sposób różni się od innych folderów.

3

Odpowiedź Jader Feijo rozwiązuje mój problem.

prostu chcę sugerować łatwiejszy sposób, aby dodać komentarz, bez wszystkich tych dodatkowych etapów VI, po prostu dodając parametr -m:

git commit -a -m "Commit Message" 
+3

jeszcze krótszy, "git commit -am" Commit Message "' – Till

Powiązane problemy