J'ai accidentellement suivi le fichier On a été vérifié à plusieurs reprises à cause de cela, mais j'aimerais vraiment que cela cesse d'être suivi car il est en cause des conflits de fusion. P> Voici comment je continue à essayer de supprimer le fichier. p> .dea / workspace.xml code> créé par rubymine et je n'arrive maintenant à supprimer le fichier de suivi.
git rm --Cached .idea / workspace.xml code> p>
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: .idea/workspace.xml
GIT COMMIT -M 'Supprimer le fichier d'espace de travail du suivi' CODE> P> LI>
.idea / * code> li>
ol> p>
3 Réponses :
Qu'est-ce que vous avez montré devrait fonctionner correctement. Je vois deux manières potentielles que le fichier peut être réintroduit à plusieurs reprises:
Si quelqu'un d'autre se fait toujours de fusionner des erreurs et de les résoudre en ajoutant leurs modifications et en ignorant votre suppression, le fichier continuera à revenir p> li>
Si vous n'incluez pas votre .gitignore code> dans votre repo ou n'engageez pas votre ajout de
.ideas / * code> au .gitignore, d'autres personnes sont réajout de nouveau le fichier via quelque chose comme p>
git add .
Pour moi, le problème a été causé par l'utilisation de l'outil GitHub Windows Gui. P>
Même si j'en ai supprimé manuellement le .dea / dossier dans .gitignore et exécuté J'ai pu résoudre cela par commettant manuellement via la ligne de commande forte> après avoir supprimé le dossier mis en cache et ajouter à .gitignore. Je ne sais pas pourquoi mais ça marche. P>
git rm -r - cached .dea code>, il resterait revenir dans "Modifications non mérites". P>
GIT COMTT -M "COMMIS Manual" CODE> P>
Une fois qu'un fichier est commité, il y a 2 façons de dire à Git de l'ignorer: p>
validez le retrait du fichier, puis ajoutez-le à git rm - cached
Git Engagement -M "supprimé ..." p> li>
Définissez le Lorsque ce drapeau est spécifié, les noms d'objet enregistrés pour les chemins ne sont pas mis à jour. Lorsque le bit "Supprimer inchangé" est activé, l'utilisateur promet de ne pas modifier le fichier et permet à GIT de supposer que le fichier d'arbre de travail correspond à ce qui est enregistré dans l'index. Si vous souhaitez modifier le fichier d'arborescence de travail, vous devez non définir le bit pour indiquer à GIT. Ceci est parfois utile lorsque vous travaillez avec un grand projet sur un système de fichiers qui possède un appel de système LSTAT (2) très lent (par exemple CIFS). P>
GIT échouera (gracieusement) au cas où il a besoin de modifier ce fichier dans l'index E.G. lors de la fusion d'un commit; Ainsi, dans le cas où le fichier supposé non-démesuré est changé en amont, vous devrez gérer la situation manuellement. P>
blockQuote> .gitignore code> p>
supposons-inchangée code> drapeau p> li>
ol>
- [no-] suppose-inchangée code> em> strong> h2> h2>
Au lieu de cela, cette option définit / désintègre le bit "supposé inchangé" pour les chemins. P>
Avez-vous essayé de supprimer (
git rm .idea / workspace.xml code>) d'abord, alors commettez-le et l'ajoutez à .gitignore après?
Hillary, ça devrait faire l'affaire. Qu'est-ce que vous obtenez après avoir exécuté ces 3 étapes que vous faites? Êtes-vous sûr que vous commettez vraiment la suppression?
Le fichier .gitignore est-il aussi engagé?
J'avais commis le .gitignore. Sur ma machine locale jusqu'à présent, il semble que l'élimination du dossier parent complètement, au lieu de la seule version en cache HTE semble avoir travaillé.