Perché non c'è "pathspec" quando provo a rimuovere una cartella in Git?


9

Sto cercando di rimuovere una cartella dal mio repository Git con

git rm folderToRemove

ma Git genera questo errore quando provo a farlo.

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

La mia directory corrente è "modelli". Sto riscontrando questo errore strano dal momento che posso cdnella cartella "folderToRemove", quindi esiste chiaramente. Cosa significa questo errore?

Risposte:


17

Git non contiene directory di versione, ma solo "contenuto" (contenuto della directory o file)

non corrisponde ad alcun file

Ciò significa che non esiste alcun file da rimuovere all'interno folderToRemove, come ho già detto in " Impossibile rimuovere i file in modo ricorsivo da Git ".
Ora puoi rimuovere (Windows delo Unix rm) la directory stessa.

Come descritto in " Eliminazione di directory vuote in Git ", puoi anche eseguire un:

git clean -fd

Però:

Avvertenza: il comando clean rimuove tutti i file nella copia di lavoro corrente che non sono tracciati da git. Questo è un buon modo per perdere il lavoro se non hai aggiunto nuovi file a Git. Corri sempre git addprima git clean.

Esegui piuttosto prima un:

git clean -d -x -n

Come spiegato in " Come posso cancellare la mia directory di lavoro locale in git? ".


ma come faccio a "pulire" il telecomando di un'altra persona quando eseguono un pull?
Ilea Cristian,

@IleaCristian a causa della natura distribuita di Git, non si pulisce un telecomando, ma solo il proprio clone.
VonC,

Il problema è che non realizziamo la build finale. I file di progetto (che vede l'IDE) sono in realtà alcune cartelle con "estensione" (myproj.xcworkspace o myproj.xcodeproj). Volevo rimuovere xcworkspace e lasciare solo xcodeproj. Fondamentalmente volevo forzare le persone che fanno la build ad usare solo il file xcodeproj.
Ilea Cristian,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.