Débloquer temporairement les fichiers de git

J’ai installé un git local sur ma machine. Lorsque j’ai initialisé git, j’ai ajouté des bibliothèques et des binarys pré-compilés. Cependant, pendant mon développement, je ne souhaite pas archiver ces fichiers par intermittence. Je ne veux pas supprimer ces fichiers de repo. Est-il possible 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 cela ne fonctionne que pour les fichiers qui ne sont pas dans git. Je veux désactiver temporairement le suivi des fichiers.)

git update-index devrait faire ce que vous voulez

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

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

Documentation Github: index-update

vous pourriez garder vos fichiers non suivis après

 git rm -r --cached  

ajoutez vos fichiers avec

 git add -u 

ils poussent ou font ce que vous voulez.

 git rm --cached 

Cependant, vous ne devriez pas commettre de binarys compilés et de dépendances externes en premier lieu. Utilisez un outil comme Bundler pour les insérer à la place.

Utilisez la commande suivante pour désélectionner les fichiers

 git rm --cached  

Le git-book le mentionne dans la section 2.4: “Défaire les choses”. En gros, vous devez rétablir l’état de l’index pour certains fichiers à l’état HEAD, c’est-à-dire à l’état de la dernière extraction (ou validation). Cela annule la mise en place du fichier dans l’index actuel. La commande pour cette tâche est git reset . [1]

La commande à exécuter est donc la suivante:

 git reset HEAD /path/to/file 

Les nouvelles versions de git (je crois depuis la version 1.6 ou plus) donnent cette commande (et bien d’autres) comme une astuce lorsqu’on exécute git status . Ces versions sont très conviviales. Un conseil personnel: si vous ne stockez que quelques fichiers, utilisez git add -i . Cela lancera l’outil de mise en scène interactif, ce qui rend la chose particulièrement facile. En outre, je recommande fortement de lire le livre, car il est très explicite sur l’utilisation de git dans des situations pratiques.

[1] http://www.git-scm.com/book

Je suppose que vous demandez comment supprimer TOUS les fichiers du dossier de construction ou du dossier bin, plutôt que de sélectionner chaque fichier séparément.

Vous pouvez utiliser cette commande:

git rm -r -f /build\*

Assurez-vous que vous êtes dans le répertoire parent du répertoire de construction.
Cette commande va supprimer récursivement tous les fichiers qui se trouvent dans les dossiers bin / ou build /. Par le mot supprimer, je veux dire que git prétendra que ces fichiers sont “supprimés” et que ces fichiers ne seront pas suivis. Le git marque vraiment ces fichiers en mode suppression.

Assurez-vous que votre .gitignore est prêt pour les commits à venir.
Documentation: git rm

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

Pour voir les modifications que vous avez apscopes ( connaissez les fichiers marqués comme –assume-unchanged )

 git ls-files -v 

La liste de fichiers obtenue aura un préfixe avec un caractère (ex: H ou h). S’il s’agit d’une minuscule (c.-à-d. H), le fichier a été marqué –assume-unchanged

git reset [fichier]

Récupérer le fichier de la zone de transit vers le répertoire de travail

J’oublie souvent d’append mes modules de noeud au fichier .gitignore, ce qui résout ce problème.

Pour supprimer tous les fichiers Untrack. Essayez cette commande de terminal

  git clear -fdx 

supprimer les fichiers et dossiers non suivis définis par git clean -fdx