Commande hg sous Linux

Linux 命令大全Référence complète des commandes Linux


hg est l'outil en ligne de commande du système de gestion de versions distribué Mercurial. Mercurial est un système de gestion de versions distribué léger écrit en Python. Il est similaire à Git mais avec une conception plus simple.


Concepts de base de hg

Système de gestion de versions

Un système de gestion de versions (VCS) est utilisé pour suivre l'historique des modifications de fichiers et prendre en charge le développement collaboratif par plusieurs personnes. Il se divise en systèmes centralisés (par exemple, SVN) et en systèmes distribués (par exemple, Git, Mercurial).

Distribué vs centralisé

  • Distribué: chaque développeur dispose d'une copie complète du dépôt et de son historique.
  • Centralisé: un seul dépôt central stocke tout l'historique.

Fonctionnalités de Mercurial

  • Conception de commandes simple et intuitive
  • Haute performance pour la gestion de grands projets
  • Prise en charge multiplateforme
  • Système de plugins extensible

hg Installation et configuration

Méthodes d'installation

Exemple

# Ubuntu/Debian
sudo apt-get install mercurial

# CentOS/RHEL
sudo yum install mercurial

# macOS (avec Homebrew)
brew install mercurial

Configuration de base

Édition~/.hgrcfichier :

Exemple

[ui]
username = Votre nom

hg Commandes courantes expliquées

Opérations sur les dépôts

Exemple

# Initialiser un nouveau dépôt
hg init project_name

# Cloner un dépôt existant
hg clone https://example.com/repo

Suivi des fichiers

Exemple

# Ajouter un fichier au contrôle de version
hg add filename

# Afficher l'état du dépôt
hg status

# Valider les modifications
hg commit -m "message de validation"

Gestion des branches

Exemple

# Créer une nouvelle branche
hg branch branch_name

# Changer de branche
hg update branch_name

# Afficher toutes les branches
hg branches

Historique des modifications

Exemple

# Afficher l'historique des commits
hg log

# Afficher l'historique des modifications d'un fichier spécifique
hg log filename

# Afficher le contenu des modifications
hg diff

Opérations à distance

Exemple

# Récupérer les modifications distantes
hg pull

# Pousser les modifications locales
hg push

# Afficher les dépôts distants
hg paths

Utilisation avancée de hg

Annulation des modifications

Exemple

# Annuler les modifications du répertoire de travail
hg revert filename

# Revenir à une version spécifique
hg update -rrevision_number

Fusion de branches

Exemple

# Fusionner une autre branche dans la branche actuelle
hg merge branch_name

# Après avoir résolu les conflits, marquer comme résolu
hg resolve -mfilename

Étiquetage

Exemple

# Créer une étiquette
hg tag tag_name

# Voir toutes les étiquettes
hg tags

Comparaison entre hg et Git

Fonctionnalité hg (Mercurial) Git
Courbe d'apprentissage Plus douce Plus abrupte
Conception des commandes Plus cohérent Plus flexible
Modèle de branches Branches nommées Branches légères
Prise en charge de Windows Bonne prise en charge native Nécessite Git Bash
Système de plugins Puissant Puissant

Exemples d'applications pratiques

Exemple 1 : Création d’un nouveau projet

Exemple

# 1. Créer un répertoire de projet
mkdir myproject
cd myproject

# 2. Initialiser le dépôt
hg init

# 3. Créez des fichiers et ajoutez-les
echo "Hello World" > README.txt
hg add README.txt

# 4. Validez la version initiale
hg commit -m "Initial commit"

Exemple 2 : Flux de travail de collaboration d'équipe

Exemple

# 1. Clonez le dépôt distant
hg clone https://team-server.com/project

# 2. Créez une branche de fonctionnalité
hg branch feature-x
hg commit -m "Start feature X"

# 3. Après le développement, poussez vers le serveur
hg push --new-branch

# 4. Les autres membres récupèrent les mises à jour
hg pull
hg update feature-x

Solutions aux problèmes courants

Problème 1 : Contenu incorrect validé

Exemple

# Revenir au dernier commit
hg rollback

# Ou créez un changement inverse
hg backout wrong_commit_id

Problème 2 : Conflits de fusion

  1. Les fichiers en conflit contiendront des marqueurs
  2. Modifiez le fichier pour résoudre les conflits
  3. Marquer comme résolu
  4. Terminer le commit de fusion

Exemple

hg resolve -mFichier en conflit
hg commit -m "Conflit de fusion résolu"

Problème 3 : Récupération de fichiers supprimés

Exemple

# Afficher l'historique des suppressions
hg log --removed

# Restaurer un fichier à partir d'une version spécifique
hg revert -rrevision_number filename

Suggestions de bonnes pratiques

  1. Commitez fréquemment: Commitez par petites étapes, gardez chaque commit atomique
  2. Messages descriptifs: Les messages de commit doivent clairement décrire les modifications
  3. Stratégie de branches: Utilisez des stratégies différentes pour les branches de longue durée (par ex., développement, publication) et les branches de fonctionnalité de courte durée
  4. Synchronisation régulière: Exécutez fréquemment pull/push pour rester synchronisé avec l’équipe
  5. Sauvegardez les branches importantes: Poussez les branches critiques vers le serveur distant

Ressources d'apprentissage recommandées

  1. Documentation officielle :https://www.mercurial-scm.org/guide
  2. Livre électronique « Mercurial: The Definitive Guide »
  3. Aide intégrée de hg :hg helpouhg help 命令名
  4. Tutoriel interactif :https://hginit.com/

En maîtrisant les commandes hg, vous pouvez gérer efficacement les versions du projet et collaborer avec votre équipe. Bien que Git soit actuellement plus populaire, la conception simple de Mercurial en fait un excellent choix dans certains scénarios.


Linux 命令大全Référence complète des commandes Linux

Autres extensions