548 votes

Retirer temporairement les fichiers de git

J'ai installé un git local sur ma machine. Lorsque j'ai initialisé git, j'ai ajouté des libs et des binaires pré-compilés. Cependant, maintenant, pendant mon développement, je ne veux pas vérifier ces fichiers par intermittence. Je ne veux pas supprimer ces fichiers du repo. Existe-t-il un moyen de ne pas garder une trace de ces fichiers jusqu'à ce que je termine mon développement. (Je pense que je ne peux pas utiliser .gitignore car il ne fonctionne que pour les fichiers qui ne sont pas dans git. Je veux désactiver temporairement le suivi des fichiers).

0 votes

0 votes

860voto

Andy Points 9657

git update-index devrait faire ce que vous voulez

Cela indiquera à git que vous voulez commencer à ignorer les modifications du fichier
git update-index --assume-unchanged path/to/file

Quand vous voulez recommencer à garder une trace
git update-index --no-assume-unchanged path/to/file

Documentation Github : update-index

4 votes

Enfin une commande qui fonctionne réellement pour mon fichier de développement accidentellement commité, merci :)

17 votes

Pourquoi pas git rm -r --cached <fichier> ?

28 votes

@Ehsan il semble git rm --cached entraînera la suppression des copies locales sur les autres machines, où la même branche est extraite, lors de leur prochain tirage. Voir arlocarreon.com/blog/git/ et surtout la discussion qui suit.

344voto

cajuuh Points 3047

Vous pouviez garder vos fichiers non tracés après

git rm -r --cached <file>

ajouter vos fichiers avec

git add -u

les pousser ou faire ce que vous voulez.

117voto

Tekkub Points 8989
git rm --cached

Cependant, vous ne devriez pas commettre des binaires compilés et des dépendances externes en premier lieu. Utilisez un outil comme Bundler pour les intégrer à la place.

4 votes

N'oubliez pas l'option -r (récursive) pour les répertoires : git rm -r --cached

62voto

Dinesh Vaitage Points 1282

Utilisez la commande suivante pour dépister les fichiers

git rm --cached <file path>

12voto

prime Points 1239

Pas une réponse à la question initiale. Mais cela pourrait aider quelqu'un.

Pour voir les changements que vous avez effectués ( savoir quels fichiers sont marqués comme --assume-unchanged )

git ls-files -v

La liste des fichiers résultants aura un préfixe avec un caractère (ex : H ou h) Si c'est une minuscule (ex : h) alors le fichier a été marqué --assume-unchangé

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X