Risposte:
Se lo usi rm
, dovrai seguirlo git add <fileRemoved>
. git rm
fa questo in un solo passaggio.
Puoi anche usare git rm --cached
ciò che rimuoverà il file dall'indice (gestendolo per la cancellazione al prossimo commit), ma manterrai la tua copia nel file system locale.
rm
(invece di git rm
) e cancellato molti file utilizzandolo, e ora non voglio git
seguirli. C'è un modo per ripristinare le modifiche? Voglio git
calcare il mio rm
come rimosso poiché non ho usato git rm
in primo luogo.
Rimuovere i file usando rm
non è un problema di per sé, ma se vuoi impegnarti a rimuovere il file, dovrai git rm
comunque farlo , quindi potresti farlo in questo modo.
Inoltre, a seconda della shell, git rm
dopo aver eliminato il file, non otterrai il completamento delle schede, quindi dovrai precisare il percorso da solo, mentre se git rm
il file esiste ancora, il completamento delle schede funzionerà normalmente.
Rimuovere i file dall'indice o dall'albero di lavoro e dall'indice. git rm non rimuoverà un file solo dalla tua directory di lavoro.
Ecco come è possibile eliminare un file utilizzando rm -f
e quindi rimuoverlo dall'indice congit rm
$ rm -f index.html
$ git status -s
D index.html
$ git rm index.html
rm 'index.html'
$ git status -s
D index.html
Tuttavia puoi farlo tutto in una volta con solo git rm
$ git status -s
$ git rm index.html
rm 'index.html'
$ ls
lib vendor
$ git status -s
D index.html
Aggiungendo alla risposta di Andy, c'è un'utilità aggiuntiva per git rm
:
Sicurezza : quando si esegue git rm
invece di rm
, Git bloccherà la rimozione in caso di discrepanza tra la HEAD
versione di un file e l'indice di gestione temporanea o la versione dell'albero di lavoro. Questo blocco è un meccanismo di sicurezza per impedire la rimozione delle modifiche in corso.
Salvaguardia : git rm --dry-run
. Questa opzione è una protezione che eseguirà il git rm
comando ma non eliminerà effettivamente i file. Invece produrrà quali file avrebbe rimosso.
git reset --hard
e quindi fare un checkout del master per uscire dallo stato principale distaccato perché sapevo di non avere alcuna modifica senza commit. Se non hai eseguito il commit delle modifiche, potresti voler eseguire un git stash, ma sono relativamente nuovo con git, quindi non conosco il comando esatto. Se sei venuto qui o dopo il 2014, spero che questa risposta ti sia stata utile.