Comment se débarrasser des références de fichiers indésirables avec Git

J'ai accidentellement échafaudé un projet standard dans l'arborescence d'un projet avec un dépôt Git (j'étais dans un dossier de projet, j'ai créé un dossier, je l'ai saisi et j'ai tapé yo gulp-webapp ).

Cela arrive, n'est-ce pas?

So first I reverted the overwritten files with git checkout HEAD -- .

Après cela, en tapant git status certains fichiers indésirables s'affichaient dans "Untracked files".

Je les ai supprimés (via Sublime Text) puis ils sont apparus dans "Changements non mis en scène pour commettre". Pourquoi? N'ont-ils pas été trafiqués, ce qui signifie qu'ils n'ont jamais été ajoutés au dépôt?

Ensuite, je les ai supprimés en utilisant git -rm -rf . Maintenant, ils apparaissent dans la zone de stockage. Que ce passe-t-il.

Comment est-ce que je fais oublier Git à leur sujet?

0

2 Réponses

git clean -xdf

Cela supprimera les fichiers non-suivis, les répertoires (-d) et les fichiers ignorés par .gitignore (-x).

Veillez à ne pas supprimer les fichiers par accident, cela nettoiera tout ce qui n'est pas suivi.

Vous pouvez ajouter le paramètre - dry-run pour voir ce qui sera supprimé.

0
ajouté
Cela a supprimé les fichiers physiques listés dans .gitignore et les fichiers indésirables dont j'ai parlé apparaissaient toujours sur git status . Je ne voulais pas supprimer des fichiers de l'arbre de travail, juste besoin que Git cesse de référencer certains fichiers indésirables qui ont été créés par erreur.
ajouté l'auteur zok, source
Je ne comprends pas exactement ce que vous voulez dire, mais je crois que j'aurais dû utiliser git clean -df au lieu de les supprimer via Sublime Text (ou Finder, ou avec rm ) . Quoi qu'il en soit, je ne comprends toujours pas pourquoi, après les avoir supprimés via Sublime, ils sont apparus comme supprimés dans "Changements non mis en scène pour commettre" puisqu'ils n'ont jamais été ajoutés.
ajouté l'auteur zok, source
Si git status indique que l'index actuel est différent du commit HEAD, c'est un autre problème. git reset --hard devrait le réparer.
ajouté l'auteur Martin, source

Après avoir fait git rm , les fichiers sont apparus dans la zone de transfert car ils doivent être supprimés dans le référentiel, c'est-à-dire qu'il est correct qu'ils soient présents. Il suffit de commettre les suppressions et vous devriez être prêt à partir.

0
ajouté
Si elles devaient être supprimées dans le référentiel, cela signifie qu'elles ont été ajoutées au référentiel à un moment donné, correct? Comment ils ont été ajoutés? Je ne les ai jamais ajoutés!
ajouté l'auteur zok, source
oui, très curieux en effet! git log pour l'un de ces fichiers me retourne "fatal: argument ambigu 'test/karma.conf.js': révision inconnue ou chemin non dans l'arbre de travail."
ajouté l'auteur zok, source
Oui, ils auraient dû être ajoutés à un moment donné. Si vous ne les avez pas ajoutés, je ne suis pas sûr de ce qui se passe. La partie la plus déroutante est l'endroit où ils n'étaient pas traqués, vous les avez supprimés, puis ils ont tous été suivis. Que voyez-vous lorsque vous créez un journal d'un des fichiers, c'est-à-dire git log file.txt ?
ajouté l'auteur David Deutsch, source