Vous pouvez
git rm myConfigFile
echo myConfigFile > .gitignore
git add .gitignore
git commit -m "from now on, no more myConfigFile"
L'autre approche extrême (dangereux, surtout si vous avez déjà poussé votre repo à une distance) serait de supprimer entièrement ce fichier de l'histoire de ladite pension :
git filter-branch --index-filter 'git update-index --remove myConfigFile' HEAD
(à utiliser avec précaution, et avec une première sauvegarde)
La question How do I remove sensitive files from git’s history a plus sur ce sujet sensible.
Les problèmes avec ce processus sont de deux ordres:
- Si votre pension a déjà cloné est, vous ne pouvez jamais garantir les informations confidentielles seront vraiment « gone » de toutes les autres prises en pension.
- Lorsque d'autres utilisateurs essaient de retirer vos dernières modifications, ils reçoivent un message indiquant que les modifications ne peuvent pas être appliquées car il ne s'agit pas d'une avance rapide.
Pour résoudre ce problème, ils devront soit supprimer leur référentiel existant et le recloner, soit suivre les instructions sous "RECOVERING FROM UPSTREAM REBASE
" dans le git-rebase
manpage.
Dans les deux cas, vos informations confidentielles ne seront pas « tranquillement » remplacer ou ... effacé
Qu'est-ce que vous essayez de faire exactement? Voulez-vous annuler un seul commit qui a eu lieu il y a 2 semaines? – BastiBen