web-dev-qa-db-fra.com

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

J'ai donc accidentellement inclus un fichier de configuration (différent pour chaque machine) dans nos référentiels Mercurial.

Comment puis-je empêcher Mercurial de l'inclure dans le contrôle de version? Je ne veux pas supprimer le fichier car je le veux toujours. Et je ne veux pas non plus provoquer la suppression du fichier dans les répertoires de travail d'autres développeurs.

Et comment faire cela dans TortoiseHG?

36
Greg

Faites un clic droit sur le fichier -> TortoiseHG -> Oubliez les fichiers. Cliquez sur Oublier. Valider et synchroniser.

Edit: Vous voudrez également ajouter le chemin à votre . Hgignore pour l'empêcher d'être ajouté à nouveau. Vous pouvez cliquer avec le bouton droit sur le fichier dans la boîte de dialogue HG Commit et choisir de l'ignorer.

39
Nate

Voici la manière manuelle de le faire via la ligne de commande:

  1. Copiez le fichier de configuration quelque part en dehors du référentiel.
  2. Courir hg rm path/to/config/file
  3. Ajoutez le chemin du fichier de configuration à votre .hgignore.
  4. Validez le référentiel.
  5. Déplacez le fichier de configuration à l'endroit où vous l'aviez.
  6. Faites un hg stat sur votre référentiel pour vérifier que vous avez tout fait correctement. (Il ne devrait pas apparaître dans la liste des fichiers modifiés/ajoutés).

Modifier :

hg forget est la meilleure façon de procéder.

  1. Courir hg forget path/to/config/file
  2. Modifiez votre .hgignore et ajoutez le chemin d'accès au fichier de configuration.
  3. hg ci pour enregistrer vos modifications.
  4. Courir hg stat pour s'assurer que tout a fonctionné comme prévu.

Voir la réponse de Nates pour savoir comment le faire TortoiseHG.

27
Sam Dolan

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

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

2
rmk