Comando hg de Linux

Linux 命令大全Manual completo de comandos de Linux


hg es la herramienta de línea de comandos del sistema de control de versiones distribuido Mercurial. Mercurial es un sistema de control de versiones distribuido ligero, escrito en Python, similar a Git pero con un diseño más simple.


Conceptos básicos de hg

Sistema de control de versiones

El sistema de control de versiones (VCS) se utiliza para rastrear el historial de cambios de archivos y admite el desarrollo colaborativo de múltiples personas. Se divide en centralizado (como SVN) y distribuido (como Git, Mercurial).

Distribuido vs centralizado

  • Distribuido: cada desarrollador tiene una copia completa del repositorio y del historial
  • Centralizado: solo hay un repositorio central que almacena todo el historial

Características de Mercurial

  • Diseño de comandos simple e intuitivo
  • Alto rendimiento con proyectos grandes
  • Soporte multiplataforma
  • Sistema de complementos extensible

Instalación y configuración de hg

Métodos de instalación

Ejemplo

# Ubuntu/Debian
sudo apt-get install mercurial

# CentOS/RHEL
sudo yum install mercurial

# macOS (usando Homebrew)
brew install mercurial

Configuración básica

Editar~/.hgrcel archivo:

Ejemplo

[ui]
username = Your Name

Explicación detallada de comandos comunes de hg

Operaciones de repositorio

Ejemplo

# Inicializar un nuevo repositorio
hg init nombre_del_proyecto

# Clonar un repositorio existente
hg clone https://example.com/repo

Seguimiento de archivos

Ejemplo

# Agregar archivo al control de versiones
hg add nombre_del_archivo

# Ver el estado del repositorio
hg status

# Confirmar cambios
hg commit -m "mensaje de confirmación"

Gestión de ramas

Ejemplo

# Crear una nueva rama
hg branch nombre_de_la_rama

# Cambiar de rama
hg update nombre_de_la_rama

# Ver todas las ramas
hg branches

Historial de cambios

Ejemplo

# Ver historial de confirmaciones
hg log

# Ver historial de modificaciones de un archivo específico
hg log nombre_del_archivo

# Mostrar el contenido de los cambios
hg diff

Operaciones remotas

Ejemplo

# Obtener cambios remotos
hg pull

# Enviar cambios locales
hg push

# Ver repositorios remotos
hg paths

Uso avanzado de hg

Deshacer cambios

Ejemplo

# Deshacer cambios en el directorio de trabajo
hg revert nombre_del_archivo

# Revertir a una versión específica
hg update -rnúmero_de_versión

Fusionar ramas

Ejemplo

# Fusionar otra rama en la rama actual
hg merge nombre_de_la_rama

# Después de resolver conflictos, marcarlos como resueltos
hg resolve -mnombre_del_archivo

Etiquetado

Ejemplo

# Crear una etiqueta
hg tag nombre_de_la_etiqueta

# Ver todas las etiquetas
hg tags

Comparación entre hg y Git

Característica hg (Mercurial) Git
Curva de aprendizaje Más suave Más pronunciada
Diseño de comandos Más consistente Más flexible
Modelo de ramas Ramas nombradas Ramas ligeras
Soporte en Windows Buen soporte nativo Requiere Git Bash
Sistema de complementos Potente Potente

Ejemplos de aplicación práctica

Ejemplo 1: Crear un nuevo proyecto

Ejemplo

# 1. Crear el directorio del proyecto
mkdir myproject
cd myproject

# 2. Inicializar el repositorio
hg init

# 3. Crear archivo y agregarlo
echo "Hello World" > README.txt
hg add README.txt

# 4. Confirmar la versión inicial
hg commit -m "Initial commit"

Ejemplo 2: Flujo de trabajo colaborativo en equipo

Ejemplo

# 1. Clonar el repositorio remoto
hg clone https://team-server.com/project

# 2. Crear una rama de características
hg branch feature-x
hg commit -m "Start feature X"

# 3. Después del desarrollo, enviar al servidor
hg push --new-branch

# 4. Otros miembros obtienen las actualizaciones
hg pull
hg update feature-x

Resolución de problemas comunes

Problema 1: Se confirmó contenido incorrecto

Ejemplo

# Revertir a la última confirmación
hg rollback

# O crear un cambio inverso
hg backout ID_de_confirmación_incorrecta

Problema 2: Conflictos de fusión

  1. Los archivos en conflicto contienen marcadores
  2. Editar el archivo para resolver el conflicto
  3. Marcar como resuelto
  4. Completar la confirmación de fusión

Ejemplo

hg resolve -marchivo_en_conflicto
hg commit -m "Merge conflict resolved"

Problema 3: Recuperar archivos eliminados

Ejemplo

# Ver historial de eliminaciones
hg log --removed

# Restaurar un archivo de una versión específica
hg revert -rnúmero_de_versión nombre_del_archivo

Recomendaciones de mejores prácticas

  1. Confirmaciones frecuentes: realizar confirmaciones pequeñas, manteniendo la atomicidad de cada confirmación
  2. Mensajes descriptivos: el mensaje de confirmación debe explicar claramente el contenido de los cambios
  3. Estrategia de ramas: usar diferentes estrategias para ramas a largo plazo (como desarrollo, publicación) y ramas de características a corto plazo
  4. Sincronización periódica: ejecutar pull/push con frecuencia para mantenerse sincronizado con el equipo
  5. Respaldar ramas importantes: enviar ramas clave al servidor remoto

Recursos de aprendizaje recomendados

  1. Documentación oficial:https://www.mercurial-scm.org/guide
  2. Libro electrónico «Mercurial: The Definitive Guide»
  3. Ayuda integrada de hg:hg helpohg help 命令名
  4. Tutorial interactivo:https://hginit.com/

Al dominar los comandos de hg, puedes gestionar eficientemente las versiones del proyecto y colaborar con el equipo. Aunque Git es más popular actualmente, el diseño simple de Mercurial lo convierte en una excelente opción en ciertos escenarios.


Linux 命令大全Manual completo de comandos de Linux

Otras extensiones