GIT: bisogno di "git rm" in modo ricorsivo il contenuto di tutte le cartelle bidone e obj
Domanda
Qualcuno per caso ha appena commesso tutte le cartelle di bidone e OBJ al nostro repository (ci sono circa 40 tali cartelle). Vorrei fare un git rm -r
Su tutte queste cartelle. C'è un comando per farlo?
Soluzione
Avere backup,
find . -type d -name bin -exec git rm -r {} \;
find . -type d -name obj -exec git rm -r {} \;
Aggiornare
Con Bash, puoi impostare Shopt Globstar ed essere felice:
shopt -s globstar
git rm -r **/{obj,bin}/
Infine, se è necessario rimuoverli dalla storia del repository, guarda git filter-branch
e leggi la sezione su 'Rimozione di oggetti' dal Libro pro git
Altri suggerimenti
Una volta ripristinato (manterrà i file nella cronologia) o ripristinerà il commit,
git reset --hard
Una volta che questi vengono ignorati i file,
git clean -xdf
Lo uso per ripulire prima di ricostruire una soluzione. Sembra VS usa alcune DLL anche dopo un checkout di un ramo diverso o di una fusione.
Non è necessario ricorrere al ramo filtrante. Interactive Rebase lo farà. Ricorda la bandiera-Prereserve-Merges.
Spero che sia di aiuto.
Un'altra opzione è quella di ripristinare il commit offensivo con git revert
.