J'ai installé un git local sur ma machine. Lorsque j'ai initialisé git, j'ai ajouté des bibliothèques et des binaires précompilés. Cependant, maintenant pendant mon développement, je ne veux pas archiver ces fichiers par intermittence. Je ne veux pas supprimer ces fichiers du dépôt. Existe-t-il un moyen de ne pas garder une trace de ces fichiers avant d'avoir terminé 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 souhaite désactiver temporairement le suivi des fichiers.)
git
github
repository
agent.smith
la source
la source
Réponses:
git update-index devrait faire ce que vous voulez
Cela indiquera à Git que vous souhaitez commencer à ignorer les modifications apportées 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: update-index
la source
git rm --cached
cela entraînera la suppression des copies locales sur d'autres machines, où la même branche est extraite, lors de leur prochain tirage. Voir arlocarreon.com/blog/git/… et surtout la discussion en dessous.vous pouvez garder vos fichiers sans suivi après
ajoutez vos fichiers avec
les pousser ou faire ce que vous voulez.
la source
git rm --cached .DS_Store
puis il s'imprimerm '../.DS_Store'
Et le fichier local est supprimé ??! (git version 2.6.4 (Apple Git-63)
)Cependant, vous ne devriez pas commettre de binaires compilés et de dépendances externes en premier lieu. Utilisez plutôt un outil comme Bundler pour les extraire.
la source
Utilisez la commande suivante pour décompresser les fichiers
la source
Le git-book le mentionne dans la section 2.4: "Annuler les choses". Fondamentalement, ce que vous devez faire est de réinitialiser l'état de l'index de certains fichiers à l'état HEAD, c'est-à-dire à l'état de la dernière extraction (ou validation). Cela annule le transfert du fichier vers l'index en cours. La commande pour cette tâche est
git reset
. [1]Ainsi, la commande que vous devez exécuter est:
Les nouvelles versions de git (je crois depuis 1.6 ou plus) donnent cette commande (et bien d'autres) comme astuce lors de l'exécution
git status
. Ces versions sont très conviviales. Un conseil personnel: si vous ne disposez que de quelques fichiers, utilisezgit add -i
. Cela lancera l'outil de mise en scène interactive, ce qui rend la chose particulièrement facile. Aussi, 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
la source
git reset [file]
c'est la façon la plus simple de supprimer des fichiers.Pas une réponse à la question d'origine. Mais cela pourrait aider quelqu'un.
Pour voir les modifications que vous avez apportées ( sachez quels fichiers sont marqués comme --assume-inchanged )
La liste résultante des fichiers aura un préfixe avec un caractère (ex: H ou h) Si c'est un minuscule (c'est-à-dire h) alors le fichier a été marqué --assume-inchanged
la source
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 génération.
Cette commande "supprimera" 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 comme étant en mode suppression.
Assurez-vous que votre .gitignore est prêt pour les commits à venir.
Documentation: git rm
la source
git reset [fichier]
Récupérer le fichier de la zone de transit vers le répertoire de travail
J'oublie souvent d'ajouter mes modules de nœuds au fichier .gitignore, cela résout ce problème.
la source
Cela a fonctionné pour moi
git reset HEAD 'filename'
la source
Pour supprimer tous les fichiers Untrack. Essayez cette commande de terminal
la source
pour supprimer les fichiers et dossiers non suivis, définissez git clean -fdx
la source