Cómo usar el sistema de control de versiones Git en Linux [Guía completa]

Cómo usar el sistema de control de versiones 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 tarde. Un sistema de control de versiones (o VCS en resumen) es una herramienta que registra cambios en los archivos en un sistema de archivos.

Hay muchos sistemas de control de versiones por ahí, pero Git Actualmente es el más popular y con frecuencia utilizado, especialmente para la gestión del 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 un grupo de personas:

  • crear versiones de un proyecto.
  • rastrear los cambios con precisión y resolver conflictos.
  • fusionar los cambios en una versión común.
  • Los cambios de reversión y deshacer a archivos seleccionados o un proyecto completo.
  • Acceda a versiones históricas de un proyecto para comparar los cambios con el tiempo.
  • Vea quién modificó por última vez algo que podría estar causando un problema.
  • Cree una copia de seguridad fuera del sitio segura de un proyecto.
  • Use múltiples máquinas para trabajar en un solo proyecto y mucho más.

Un proyecto bajo un sistema de control de versiones como Git tendrá principalmente tres secciones, a saber:

  • un repositorio: una base de datos para grabar el estado o los cambios en los archivos de su proyecto. Contiene todos los metadatos y objetos 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 los que puede trabajar (hacer adiciones, deleciones y otras acciones de modificación).
  • Un área de puesta en escena: un archivo (conocido como índice bajo GIT) dentro del directorio GIT, que almacena información sobre los cambios, que está listo para comprometerse (guardar el estado de un archivo o conjunto de archivos) en el repositorio.

Hay dos tipos principales de VCS, siendo la principal diferencia el número de repositorios:

  • Sistemas de control de versiones centralizadas (CVCSS): Aquí cada miembro del equipo del proyecto obtiene su propio directorio de trabajo local, sin embargo, cometen cambios en un solo repositorio central.
  • Sistemas de control de versiones distribuidas (DVCS): Según esto, cada miembro del equipo del proyecto obtiene su propio directorio de trabajo local y directorio GIT donde pueden hacer compromisos. Después de que un individuo se confirma localmente, otros miembros del equipo no pueden acceder a los cambios hasta que los empuja al repositorio central. Git es un ejemplo de un DVCS.

Además Git El repositorio puede ser desnudo (repositorio que no tiene un directorio de trabajo) o no frecuente (uno con un directorio de trabajo). Compartido (o públicos o centrales) Los repositorios siempre deben estar desnudos: todos los repositorios de GitHub están desnudos.

Aprender control de versiones con git

Git Es un sistema de código libre y abierto, rápido, potente, distribuido, fácil de usar y un popular sistema de control de versiones 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 debajo Git es muy simple: hace modificaciones a los archivos en su directorio de trabajo, luego agregue selectivamente solo aquellos archivos que han cambiado, al área de puesta en escena, para ser parte de su próxima confirmación.

Una vez que esté listo, hace una confirmación, que toma los archivos del área de puesta en escena y guarda esa instantánea de forma permanente al directorio GIT.

Instalar Git En Linux, use el comando apropiado para su distribución de elección:

$ sudo apt install git [en Debian/Ubuntu] $ sudo yum instalación git [en CentOS/RHEL] 

Después de instalar git, se recomienda que diga Git Quién es usted al proporcionar su nombre completo y dirección de correo electrónico, de la siguiente manera:

$ git config -usuario global.Nombre "Aaron Kili" $ git config -usuario global.correo electrónico "[correo electrónico protegido]" 

Para verificar su configuración de git, use el siguiente comando.

$ git config --list 
Ver Configuración de GIT

Crea un nuevo repositorio de git

Compartido Los repositorios o los flujos de trabajo centralizados son muy comunes y eso es lo que demostraremos aquí. Por ejemplo, suponemos que se le ha tardado la tarea de configurar un repositorio central remoto para administradores/programadores de sistemas de varios departamentos de su organización, para trabajar en un proyecto llamado bashscripts, que se almacenará bajo /Projects/Scritpts/ en el servidor.

Ssh En el servidor remoto y cree el directorio necesario, cree un grupo llamado sysadmins (Agregue todos los miembros del equipo del proyecto a este grupo E.g de administrador de usuarios) y establezca los permisos apropiados en este directorio.

# mkdir -p/proyectos/scripts/ # groupAdd sysadmins # usermod -ag sysadmins admin # chown: sysadmins -r/proyectos/scripts/ # chmod 770 -r/proyectos/scripts/ 

Luego inicializa un repositorio de proyectos desnudo.

# Git Init -Bare/Projects/Scripts/Bashscripts 
Inicializar el repositorio compartido Git

En este punto, ha inicializado con éxito un Git Directorio 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/proyectos/scripts/bashscripts/ 
Lista Git Repositorio compartido

Clon A Git Repositorio

Ahora clone el repositorio de git compartido remoto a su computadora local a través de Ssh (También puedes clonar a través de Http/https Si tiene un servidor web instalado y configurado adecuadamente, como es el caso con la mayoría de los repositorios públicos en GitHub), por ejemplo:

$ git clone ssh: // [correo electrónico protegido] _server_ip:/proyectos/scripts/bashscripts 

Para clonarlo a un directorio específico (~/bin/bashscripts), use el comando a continuación.

$ git clone ssh: // [correo electrónico protegido] _server_ip:/proyectos/scripts/bashscripts ~/bin/bashscripts 
Repositorio de Git de clones compartidos al local

Ahora tiene una instancia local del proyecto en un no frecuente Repositorio (con un directorio de trabajo), puede crear la estructura inicial del proyecto (i.Agrega un Readme.Maryland Archivo, subdirectorios para diferentes categorías de scripts e.G Recon para almacenar scripts de reconocimiento, sysadmin ro store sysadmin scripts, etc.)

$ cd ~/bin/bashscripts/$ ls -la 
Crear estructura de proyecto GIT

Verifique 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; esos cambios que se han organizado y así sucesivamente.

Estado de $ git 
Verifique el estado de Git

Git la etapa cambia y compromete

A continuación, organice todos los cambios usando el Agregar comando con el -A cambiar y hacer la confirmación inicial. El -a FLAG instruye al comando para organizar automáticamente archivos que se han modificado y -metro se usa para especificar un mensaje de confirmación:

$ git add -a $ git commit -a -m "confirmación inicial" 
Git se compromete

Publicar compromisos locales con el repositorio de git remoto

A medida que el equipo del proyecto lidera, ahora que ha creado la estructura del proyecto, puede publicar los cambios en el repositorio central utilizando el Comando de empuje como se muestra.

$ git push origin maestro 
Empuje el compromiso con el repositorio de Centrol Git

En este momento, su repositorio de git local debe estar actualizado con el repositorio central del proyecto (origen), puede confirmar esto ejecutando el comando de estado una vez más.

Estado de $ git 
Verifique el estado de Git

También puede informarle a sus colegas que comiencen a trabajar en el proyecto clonando el repositorio a sus computadoras locales.

Crear una nueva rama 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 el rama y verificar comandos respectivamente.

$ git ramifica más reciente $ git checkout más reciente 

Alternativamente, puede crear una nueva rama y cambiarla en un solo paso usando el Comando de pago con el -b bandera.

$ git checkout -b Último 

También puede crear una nueva rama basada en otra rama, por ejemplo.

$ git checkout -b ultimo maestro 

Para verificar en qué rama se encuentra, use comando de rama (Un carácter de asterisco indica la rama activa):

$ GIT Branch 
Verifique la rama activa

Después de crear y cambiar a la nueva rama, realice algunos cambios debajo y haga algunos compromisos.

$ vim sysadmin/topprocs.sh $ git status $ git commit add sysadmin/topprocs.sh $ git commit -a -m 'modificados topprocs.mierda 

Fusionar los cambios de una rama a otra

Para fusionar los cambios bajo la prueba de la rama a la rama maestra, cambie a la rama maestra y haga la fusión.

$ git checkout maestro $ git fusion test 
Fusionar la rama de prueba en el maestro

Si ya no necesita una rama en particular, puede eliminarla usando el -d cambiar.

Prueba de $ GIT Branch -d 

Descargar cambios desde el repositorio central remoto

Suponiendo que los miembros de su equipo han presionado los cambios en el repositorio central del proyecto, puede descargar cualquier cambio en su instancia local del proyecto utilizando el Comando tirar.

$ Git Pull Origin o $ Git Pull Origin Master #II que ha cambiado a otra rama 
Extraer cambios desde el repositorio central

Inspeccionar el repositorio de git y realizar comparaciones

En esta última sección, cubriremos algunas características ú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 Git Log, que muestra registros de confirmación:

Log de $ git 
Ver registros de comandos de git

Otra característica importante es la comando de exhibición que muestra varios tipos de objetos (como compromisos, etiquetas, árboles, etc.):

$ Git Show 
Git show objetos

La tercera característica vital que necesita saber es el comando DIFF, utilizado para comparar o mostrar diferencia entre las ramas, mostrar cambios entre el directorio de trabajo y el índice, cambia entre dos archivos en el disco y mucho más.

Por ejemplo, para mostrar la diferencia entre el maestro y la última rama, puede ejecutar el siguiente comando.

$ git diff maestro lo último 
Mostrar diferencia entre ramas

Leer también: 10 mejores alternativas Git para organizar proyectos de código abierto

Resumen

Git Permite a un equipo de personas trabajar juntas usando los mismos archivos, mientras se registra cambios en los archivos con el tiempo para que puedan recuperar versiones específicas más tarde.

De esta manera, puede usar GIT para administrar el código fuente, los archivos de configuración o cualquier archivo almacenado en una computadora. Es posible que desee consultar la documentación en línea de Git para obtener más documentación.