Mercurial-comment supprimer un fichier du contrôle de version?

donc j'ai accidentellement inclus un fichier de configuration (différent pour chaque machine) dans nos dépôts mercuriels.

Comment faire pour que Mercurial ne l'inclue pas dans le contrôle de version? Je ne veux pas supprimer le fichier depuis j'en veux encore. Et je ne veux pas non plus faire supprimer le fichier sur les répertoires de travail des autres développeurs.

Et comment je peux le faire dans TortoiseHG?

36
demandé sur Greg 2010-07-15 01:21:10

5 réponses

clic droit sur le fichier -> TortoiseHG -> Forget Files. Cliquez Sur L'Oublier. S'engager et de Synchronisation.

Modifier: Vous voudrez aussi ajouter le chemin à votre .hgignore pour l'empêcher de s'ajouter à nouveau. Vous pouvez faire un clic droit sur le fichier dans la boîte de dialogue de propagation HG et choisir de l'ignorer.

39
répondu Nate 2012-08-21 10:10:22

Voici la façon manuelle de le faire à travers la ligne de commande:

  1. Copiez le fichier de configuration quelque part à l'extérieur du dépôt.
  2. Exécuter hg rm path/to/config/file
  3. ajouter le chemin du fichier de configuration à votre .hgignore.
  4. Valider le référentiel.
  5. déplacez le fichier de configuration de nouveau à l'endroit où vous l'aviez.
  6. hg stat sur votre dépôt pour revérifier que vous avez tout fait correctement. (Il ne devrait pas apparaître dans la liste de modifié/ajouté fichier.)

Modifier:

hg forget est la meilleure façon de le faire.

  1. Exécuter hg forget path/to/config/file
  2. Modifier .hgignore et ajouter le chemin du fichier de configuration.
  3. hg ci pour enregistrer vos modifications.
  4. Exécuter hg stat pour s'assurer que tout fonctionnait comme prévu.

voir la réponse de nates pour savoir comment le faire TortoiseHG.

27
répondu Sam Dolan 2010-07-14 21:54:21

hg remove ou hg remove -f? Je pense hg forget le supprime aussi de la branche.

Dans les deux cas, les fichiers sont conservés dans votre répertoire.

2
répondu rmk 2010-07-14 21:25:31

Pour ceux qui utilisent SourceTree, il y a une option Stop Tracking quand vous faites un clic droit sur un fichier, il fait essentiellement la même chose que hg forget ou git rm --cache, suppression du fichier de la mise en pension mais pas du disque dur.

-1
répondu paradite 2016-06-08 03:58:01

l'ajouter à votre liste d'ignorés.

voir le .hgignore fichier.

TortoiseHG vous donne accès à ce fichier de configuration via L'option de menu "Edit Ignore Filter".

-2
répondu Rik Heywood 2010-07-14 21:31:27