Чому при спробі видалити папку в Git немає "pathspec"?


9

Я намагаюся видалити папку зі свого сховища Git

git rm folderToRemove

але Git видає цю помилку, коли я намагаюся це зробити.

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

Мій поточний каталог - "шаблони". Я вважаю цю помилку дивною, оскільки я можу cdпотрапити в папку "folderToRemove", тому вона явно існує. Що означає ця помилка?

Відповіді:


17

Git не має каталогі версій, а лише "вміст" (вміст каталогів або файли)

не відповідає жодним файлам

Це означає, що немає файлу для видалення всередині folderToRemove, як я згадую у " Неможливо видалити файли рекурсивно з Git ".
Тепер ви можете видалити (Windows delабо Unix rm) сам каталог.

Як описано в " Видалення порожніх каталогів у Git ", ви також можете запустити:

git clean -fd

Однак:

Попередження: команда clean видаляє всі файли з поточної робочої копії, які не відслідковуються git. Це хороший спосіб втратити свою роботу, якщо ви не додали нові файли до git. Завжди бігайте git addраніше git clean.

Виконати досить спочатку:

git clean -d -x -n

Як пояснено в " Як я можу очистити свій локальний робочий каталог в git? ".


але як я "очищую" дистанційне обслуговування іншої людини, коли вони роблять тягнення?
Ilea Cristian

@IleaCristian через розповсюджений характер Git, ви не чистите пульт, а лише власний клон.
VonC

Проблема полягає в тому, що ми не робимо остаточного складання. Файли проекту (які бачить IDE) - це фактично деякі папки з "розширенням" (myproj.xcworkspace або myproj.xcodeproj). Я хотів видалити xcworkspace і залишити лише xcodeproj. В основному я хотів змусити людей, які роблять збірку, використовувати лише файл xcodeproj.
Ілеа Крістіан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.