Dlaczego nie ma „pathspec”, gdy próbuję usunąć folder w Git?


9

Próbuję usunąć folder z mojego repozytorium Git za pomocą

git rm folderToRemove

ale Git wydaje ten błąd, gdy próbuję to zrobić.

fatal: pathspec 'siteFiles/applicationFiles/templates/folderToRemove' 
did not match any files

Mój obecny katalog to „szablony”. Uważam ten błąd za dziwny, ponieważ mogę cdprzejść do folderu „folderToRemove”, więc jest oczywisty. Co oznacza ten błąd?

Odpowiedzi:


17

Git nie wersjonuje katalogów, tylko „treść” (zawartość katalogu lub pliki)

nie pasuje do żadnych plików

Oznacza to, że nie ma w nim pliku do usunięcia folderToRemove, jak wspomniałem w „ Nie można usunąć plików rekurencyjnie z Gita ”.
Możesz teraz usunąć (Windows dellub Unix rm) sam katalog.

Jak opisano w „ Usuwanie pustych katalogów w Git ”, możesz także uruchomić:

git clean -fd

Jednak:

Ostrzeżenie: Polecenie clean usuwa wszystkie pliki w bieżącej kopii roboczej, które nie są śledzone przez git. To dobry sposób na utratę pracy, jeśli nie dodałeś nowych plików do git. Zawsze biegaj git addwcześniej git clean.

Uruchom raczej najpierw:

git clean -d -x -n

Jak wyjaśniono w „ Jak wyczyścić mój lokalny katalog roboczy w git? ”.


ale jak mogę „wyczyścić” pilota innej osoby, gdy wykonuje ona pociągnięcie?
Ilea Cristian

@IleaCristian ze względu na rozproszony charakter Git, nie czyścisz pilota, tylko własny klon.
VonC

Problem polega na tym, że nie dokonujemy ostatecznej wersji. Pliki projektu (które widzi IDE) to w rzeczywistości niektóre foldery z „rozszerzeniem” (myproj.xcworkspace lub myproj.xcodeproj). Chciałem usunąć xcworkspace i zostawić tylko xcodeproj. Zasadniczo chciałem zmusić ludzi tworzących kompilację do używania tylko pliku xcodeproj.
Ilea Cristian
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.