J'ai ajouté plus de 9000 photos par accident à mon dossier de projet. Et les a commis. Ensuite, supprimez-les du disque. Engagé.
Maintenant, j'essaye de pousser les modifications vers le serveur git. Mais cela prend trop de temps et essaie d'envoyer 12 Go de données.
J'ai vérifié la taille des fichiers sur le disque et je vois que le .git
dossier prend vraiment 12 Go.
Comment supprimer des photos à partir de là? J'ai essayé git rm
, mais échoue:
❯ git rm public/photos
fatal: pathspec 'public/photos' did not match any files
Parce que je les ai déjà supprimés du disque, mais ils sont toujours dans le .git
dossier.
J'ai essayé d'ajouter public/photos
à .gitignore
:
public/photos/
*.zip
Mais aucun résultat. Bien sûr, je pourrais hard reset head
au moment où je n'avais pas autant de photos indésirables dans mon projet. Mais depuis, je me suis engagé à plusieurs reprises et j'ai fait beaucoup de changements dans le code.
la source
git add .gitignore && commit -m "ignore rule for photos"
êtregit add .gitignore && git commit -m "ignore rule for photos"
Une réponse très simple est.
Étape 1:
Ajoutez d'abord vos fichiers non suivis que vous souhaitez supprimer:
en utilisant
git add .
ougit add <filename>
.Étape 2:
Puis supprimez-les facilement en utilisant la commande
git rm -f <filename>
ici rm = remove et -f = forcément.la source
git filter-branch
comme mentionné ailleurs.Étape 1
Ajoutez le (s) nom (s) de
.gitignore
fichier à votre fichier.Étape 2
Étape 3
Un grand merci à @mu.
la source
--ignore-unmatch
utiliser cela a fonctionné pour moi
la source
Ces chaînes fonctionnent dans mon cas:
git rm -r WebApplication/packages
Il y avait une confirmation git-dialog. Vous devez choisir l'option "y".
git commit -m "blabla"
git push -f origin <ur_branch>
la source
a fait le travail, il a restauré les fichiers que j'avais supprimés en utilisant
rm
au lieu degit rm
.J'ai d'abord vérifié le dernier hachage, mais je ne pense pas que ce soit obligatoire.
la source
Pour supprimer le fichier suivi et ancien commis de git, vous pouvez utiliser la commande ci-dessous. Ici, dans mon cas, je veux décompresser et supprimer tout le fichier du
dist
répertoire.Ensuite, vous devez l'ajouter à votre
.gitignore
afin qu'il ne soit plus suivi.la source
J'avais un répertoire en double (~ web / web) et il a supprimé le duplicata imbriqué lorsque j'ai couru
rm -rf web
dans le premier dossier Web.la source