Nota: se si desidera eliminare il file solo da Git, utilizzare di seguito:
git rm --cached file1.txt
Se si desidera eliminare anche dal disco rigido:
git rm file1.txt
Se si desidera rimuovere una cartella (la cartella può contenere pochi file), è necessario rimuovere utilizzando il comando ricorsivo, come di seguito:
git rm -r foldername
Se si desidera rimuovere una cartella all'interno di un'altra cartella
git rm -r parentFolder/childFolder
Quindi, puoi commit
e push
come al solito. Tuttavia, se si desidera ripristinare la cartella eliminata, è possibile seguire questa procedura: è possibile ripristinare i file eliminati da git.
Da doc:
git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>…
OPZIONI
<file>…
Files to remove. Fileglobs (e.g. *.c) can be given to remove all matching files. If you want Git to expand file glob characters, you
potrebbe essere necessario evadere dalla shell. Un nome di directory principale (ad es. Dir per rimuovere dir / file1 e dir / file2) può essere dato per rimuovere tutti i file nella directory e ricorsivamente tutte le sottodirectory, ma ciò richiede che l'opzione -r sia data esplicitamente.
-f
--force
Override the up-to-date check.
-n
--dry-run
Don’t actually remove any file(s). Instead, just show if they exist in the index and would otherwise be removed by the command.
-r
Allow recursive removal when a leading directory name is given.
--
This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken for
opzioni della riga di comando).
--cached
Use this option to unstage and remove paths only from the index. Working tree files, whether modified or not, will be left alone.
--ignore-unmatch
Exit with a zero status even if no files matched.
-q
--quiet
git rm normally outputs one line (in the form of an rm command) for each file removed. This option suppresses that output.
Maggiori informazioni sul documento ufficiale.
git rm
è la risposta giusta, ma ricorda che il file sarà ancora presente nella cronologia. Se vuoi rimuovere un file perché aveva informazioni sensibili, dovrai fare qualcosa di più drastico. (La modifica della cronologia, in particolare per i contenuti che hai già spinto, è un'azione drastica e dovrebbe essere evitata se possibile.)