Table of Contents
Cómo utilizar el sistema de control de versiones de Git en Linux [Guía completa]
Control de versiones. (control de revisión o control de fuente) es una forma de registrar cambios en un archivo o colección de archivos a lo largo del tiempo para que pueda recuperar versiones específicas más adelante. Un sistema de control de versiones (o VCS. para abreviar) es una herramienta que registra cambios en archivos en un sistema de archivos.
Existen muchos sistemas de control de versiones, pero Git. es actualmente el más popular y de uso frecuente, especialmente para la gestión de código fuente. El control de versiones se puede usar para casi cualquier tipo de archivo en una computadora, no solo el código fuente.
Los sistemas/herramientas de control de versiones ofrecen varias características que permiten a las personas o grupos de personas:
- crear versiones de un proyecto.
- realizar un seguimiento de los cambios con precisión y resolver conflictos.
- fusionar cambios en una versión común.
- revertir y deshacer cambios en archivos seleccionados o en un proyecto completo.
- acceder a versiones históricas de un proyecto para comparar cambios a lo largo del tiempo.
- ver quién modificó por última vez algo que podría estar causando un problema.
- cree una copia de seguridad segura fuera del sitio de un proyecto.
- use varias máquinas para trabajar en un solo proyecto y mucho más.
Un proyecto bajo una versión El sistema de control como Git. tendrá principalmente tres secciones, a saber:
- un repositorio. una base de datos para registrar el estado o los cambios en sus archivos de proyecto. Contiene todos los metadatos y objetos de Git necesarios para el nuevo proyecto. Tenga en cuenta que esto es normalmente lo que se copia cuando clona un repositorio de otra computadora en una red o servidor remoto.
- un directorio o área de trabajo. almacena una copia de los archivos del proyecto en el que puede trabajar (hacer adiciones, eliminaciones y otras acciones de modificación).
- un área de preparación: un archivo (conocido como índice en Git) dentro del directorio de Git, que almacena información sobre los cambios, que está listo para confirmar (guardar el estado de un archivo o conjunto de archivos) en el repositorio.
Hay dos tipos principales de VCS, con la principal diferencia en el número de repositorios:
- Sistemas de control de versiones centralizados (CVCS). aquí cada miembro del equipo del proyecto obtiene su propio directorio de trabajo local, sin embargo, realiza cambios en un solo repositorio central.
- Sistemas de control de versiones distribuidos (DVCS). debajo de esto, cada miembro del equipo del proyecto obtiene su propio directorio de trabajo local y directorio Git donde t Pueden hacer confirmaciones. Después de que una persona realiza una confirmación localmente, otros miembros del equipo no pueden acceder a los cambios hasta que los envíe al repositorio central. Git es un ejemplo de DVCS.
freestar.config.enabled_slots.push
Además, un Git. el repositorio puede ser vacío. (repositorio que no tiene un directorio de trabajo) o no vacío. (uno con un directorio de trabajo). Los repositorios compartidos. (o públicos o centrales) siempre deben estar vacíos; todos los repositorios de Github están desnudos.
Aprende el control de versiones con Git
Git. es un sistema de control de versiones gratuito y de código abierto, rápido, potente, distribuido, fácil de usar y popular que es muy eficiente con grandes proyectos y tiene un notable sistema de ramificación y fusión. Está diseñado para manejar datos más como una serie de instantáneas de un mini sistema de archivos, que se almacena en un directorio Git.
El flujo de trabajo en Git. es muy simple: haces modificaciones a los archivos en su directorio de trabajo, luego agregue selectivamente solo aquellos archivos que han cambiado, al área de preparación, para ser parte de su próxima confirmación.
Una vez que esté listo, realiza una confirmación, que toma el archivos del área de ensayo y guarda esa instantánea de forma permanente en el directorio de Git.
Para instalar Git. en Linux, use el comando apropiado para su distribución de elección:
$ sudo apt install git [En Debian/Ubuntu. $ sudo yum install git [En CentOS/RHEL.
Después de instalar Git, se recomienda que le digas a Git. quién es usted proporcionando su nombre completo y dirección de correo electrónico, de la siguiente manera:
$ git config–global user.name “Aaron Kili” $ git config–global user.email “[email protected ] ”
Para comprobarlo r Configuración de Git, use el siguiente comando.
$ git config–list
Ver configuración de Git
Crea un nuevo repositorio de Git
Los repositorios compartidos. o los flujos de trabajo centralizados son muy comunes y eso es lo que demostraremos aquí. Por ejemplo, asumimos que se le ha asignado la tarea de configurar un repositorio central remoto para administradores de sistemas/programadores de varios departamentos de su organización, para trabajar en un proyecto llamado bashscripts. que se almacenará en /projects/scritpts/ en el servidor.
SSH. en el servidor remoto y crea el directorio necesario, crea un grupo llamado sysadmins. (agregue todos los miembros del equipo del proyecto a este grupo, por ejemplo, administrador de usuarios) y establezca los permisos adecuados en este directorio.
# mkdir-p/projects/scripts/# groupadd sysadmins # usermod-aG sysadmins admin # chown: sysadmins-R/projects/scripts/# chmod 770-R/projects/scripts/
Luego inicialice un repositorio de proyecto simple.
# git init–bare/projects/scripts/bashscripts
Inicializar el repositorio compartido de Git
En este punto, ha inicializado con éxito un directorio Git. que es la instalación de almacenamiento central para el proyecto. Intente hacer una lista del directorio para ver todos los archivos y directorios allí:
# ls-la/projects/scripts/bashscripts/
Lista de repositorio compartido de Git
Clona un repositorio de Git
Ahora clona el repositorio de Git compartido remoto en tu computadora local a través de SSH. (también puede clonar a través de HTTP/HTTPS. si tiene un servidor web instalado y configurado adecuadamente, como es el caso de la mayoría de los repositorios públicos en Github), por ejemplo:
$ git clone ssh://[correo electrónico p rotected] _server_ip:/projects/scripts/bashscripts
Para clonarlo en un directorio específico ( ~/bin/bashscripts. , use el siguiente comando.
$ git clone ssh://[correo electrónico protegido] _server_ip:/projects/scripts/bashscripts ~/bin/bashscripts
Clonar repositorio Git compartido a local
Ahora tienes una instancia local del proyecto en un repositorio no desnudo. (con un directorio), puede crear la estructura inicial del proyecto (es decir, agregar un archivo README.md. subdirectorios para diferentes categorías de scripts, p. ej. recon para almacenar scripts de reconocimiento, sysadmin ro almacenar sysadmin scripts, etc. ):
$ cd ~/bin/bashscripts/$ ls-la
Crear estructura de proyecto Git
Verificar un resumen de estado de Git
Para mostrar el estado de su directorio de trabajo, use el comando de estado. que le mostrará cualquier cambio que haya realizado; qué archivos no están siendo rastreados por Git; los cambios que se han realizado, etc.
$ git status
Verificar estado de Git
Cambios de etapa de Git y confirmación
A continuación, organice todos los cambios utilizando el comando add. con el modificador-A y realice la confirmación inicial. La bandera-a le indica al comando que prepare automáticamente los archivos que se han modificado, y-m se usa para especificar un mensaje de confirmación:
$ git add-A $ git commit-a-m “Confirmación inicial”
Do Git Commit
Publicar confirmaciones locales en un repositorio Git remoto
Como líder del equipo del proyecto, ahora que has creado la estructura del proyecto, puede publicar los cambios en el repositorio central usando el comando push. como se muestra.
$ git push origin master
Enviar confirmación al repositorio Centrol Git
En este momento, su repositorio local de git debe estar actualizado con el repositorio central del proyecto (origen), puede confirmar esto ejecutando el comando de estado. una vez más.
$ git status
Verificar el estado de Git
También puede informar a sus colegas que comiencen a trabajar en el proyecto clonando el repositorio para sus computadoras locales.
Crear una nueva rama de Git
La ramificación le permite trabajar en una función de su proyecto o solucionar problemas rápidamente sin tocar la base de código (rama maestra). Para crear una nueva rama y luego cambiar a ella, use los comandos branch. y checkout. respectivamente.
$ git branch latest $ git checkout latest
Alternativamente, puedes crear una nueva rama y cambiar a ella en un solo paso usando el comando checkout. con la marca-b.
$ git checkout-b latest
También puedes crear una nueva rama basado en otra rama, por ejemplo.
$ git checkout-b latest master
Para verificar en qué rama se encuentra, use el comando de rama. (un carácter de asterisco indica la rama activa):
$ git branch
Check Active Branch
Después de crear y cambiar a la nueva rama, realice algunos cambios debajo de ella y hacer algunas confirmaciones.
$ vim sysadmin/topprocs.sh $ git status $ git commit agregar sysadmin/topprocs.sh $ git commit-a-m ‘modificado topprocs.sh’
Combinar cambios de una rama a otra
Para fusionar los cambios de la prueba de la rama en la rama principal, cambie a la rama principal y realice la fusión.
$ git checkout master $ git merge test
Fusionar la rama de prueba en la maestra
Si ya no necesita una rama en particular, puede eliminarla usando el modificador-d.
$ git branch-d test
Descargar cambios desde el repositorio central remoto
Suponiendo que los miembros de su equipo hayan enviado cambios al repositorio central del proyecto, puede descargar cualquier cambio en su instancia local del proyecto usando el comando pull.
$ git pull origin O $ git pull origin master # si ha cambiado a otra rama
Extraer cambios del repositorio central
Inspeccionar el repositorio de Git y realizar comparaciones
En esta última sección, cubriremos algunas funciones útiles de Git que realizan un seguimiento de todas las actividades que ocurrieron en su repositorio, lo que le permite ver el historial del proyecto.
La primera característica es el registro de Git, que muestra los registros de confirmación:
$ git log
Ver registros de confirmaciones de Git
Otra característica importante es el comando show. que muestra varios tipos de objetos (como confirmaciones, etiquetas, árboles, etc.):
$ git show
Git Show Objects
La tercera característica vital que necesita saber es el comando diff, usado t o comparar o mostrar la diferencia entre las ramas, mostrar cambios entre el directorio de trabajo y el índice, cambios entre dos archivos en el disco y mucho más.
Por ejemplo, para mostrar la diferencia entre la rama maestra y la última rama, puede ejecutar el siguiente comando.
$ git diff master latest
Mostrar diferencia entre ramas
Lea también. 10 mejores alternativas de Git para alojar proyectos de código abierto