Cet article est un résumé succinct de l’article original disponible sur le Site du Zéro(lien). Il me sert de pense-bête.
Pré-requis
Installation:
apt-get install mercurial
Dans le dossier de l’utilisateur, créer et éditer le fichier .hgrc contenant les lignes suivantes:
[ui] username=Robert Calagan <robert.calagan@aol.com>
Changer la variable de l’éditeur de Mercurial:
setenv HGEDITOR "nano"
Eviter de devoir taper le mot de passe à chaque PUSH en éditant le fichier .hgrc:
[paths] default = http://USER:PASS@adresse.de.mon.depot/mercurial/
Travailler en local
Initialisation du dépôt local
Si on veut travailler uniquement sur une seule machine et réaliser ses sauvegardes en local:
cd monprojet hg init
Travailler avec Bitbucket ou autre fournisseur de dépôts Mercurial
Initialisation du dépôt
On se place dans le répertoire local de son projet et on lance la commande de clonage du projet vide Bitbucket vers votre dossier vide de projet. Cela permet d’initialiser votre dépôt en quelque sorte.
On clone le dépôt:
cd /home/janus/monprojet hg clone http://mercurial.intuxication.org/hg/monprojet
Les commandes principales
Voir le statut des fichiers
Statut des fichiers:
hg st
- M : fichier modifié depuis la dernière version,
- A : le fichier a été ajouté,
- R : le fichier a été supprimé,
- ! : le fichier a été supprimé physiquement localement mais pas à distance,
- ? : le fichier est disponible physiquement en local mais pas sur le distant.
Dans la section suivante, en parlant d’ajout ou de suppression de fichier, c’est un abus de language. Il faudrait plutôt parler de prise en charge du fichier ou non.
Ajouter ou supprimer un fichier sur le dépôt
Pour ajouter (ou prendre en charge) un fichier au dépôt:
hg add monfichier
Pour supprimer (de la prise en charge) un fichier du dépôt:
hg remove monfichier
Appliquer un ajouter ou une suppression atomique:
hg addr
Pousser les fichiers sur le serveur
Préparation de la version:
hg ci
Laisser un commentaire sur la modification puis enregistrer.
Pousser la version sur le serveur:
hg push
Synchroniser les fichiers (travail en équipe)
Pour synchroniser les fichiers locaux à partir du dépôt comprenant les fichiers des autres dev:
hg pull -u
Merger pour éviter la concurrence temporelle de fichiers (défaut de synchronisation)
On commence par ce synchroniser:
hg pull -u
On merge:
hg merge
Puis en refait une version et on pousse la version sur le serveur:
hg ci hg push
Consulter les logs de modifications
Consulter le dernier changement:
hg tip
Consulter tous les changements:
hg log
Gérer les erreurs
Retour sur une version
Récupérer un ficher:
hg revert -r XX mon fichier
XX est la première donnée avant le “:” du changeset (hg top)
Inscrire en dur des fichiers qui ne seront pas pris en compte
A la racine du projet, créer un fichier .hgignore et y indiquer les fichiers à ignorer, les jokers sont autorisées.
Ce fichier doit être ajouté au dépôt par la commande hg add.
Fin.