LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

El Sistema de Control de versiones (control de revisión o control de fuentes) 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 en resumen) es una herramienta que registra los cambios en los archivos de un sistema de archivos.

Existen muchos sistemas de control de versiones, pero Git es actualmente el más popular y utilizado con frecuencia, 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.
  • realizar un seguimiento de los cambios con precisión y resolver conflictos.
  • fusionar cambios en una versión común.
  • deshacer y deshacer cambios en los archivos seleccionados o en un proyecto completo.
  • Acceda a versiones históricas de un proyecto para comparar los cambios a lo largo del tiempo.
  • vea quién modificó por última vez algo que podría estar causando un problema.
  • crear una copia de seguridad segura de un proyecto fuera del sitio.
  • 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 registrar el estado o los cambios en los archivos de su 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 desde 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, eliminaciones y otras acciones de modificación).
  • un área de preparación: un archivo (conocido como índice bajo Git) dentro del directorio Git, que almacena información sobre los cambios, que está listo para confirmar (guarde 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 - Centralized Version Control Systems (CVCSs) : aquí cada miembro del equipo del proyecto obtiene su propio directorio de trabajo local, sin embargo, envían los cambios a un solo repositorio central.
  • Sistemas de control de versiones distribuidas - Distributed Version Control Systems (DVCSs) : en virtud de esto, cada miembro del equipo del proyecto obtiene su propio directorio de trabajo local y el directorio de Git donde pueden realizar confirmaciones. Después de que un individuo se compromete localmente, otros miembros del equipo no pueden acceder a los cambios hasta que los empuje al repositorio central. Git es un ejemplo de un DVCS.

Además, un repositorio de Git puede ser simple (repositorio que no tiene un directorio de trabajo) o no (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 vacíos.

Aprenda 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: realiza modificaciones en los archivos en su directorio de trabajo, luego agrega selectivamente solo aquellos archivos que han cambiado, en el área de preparación, para ser parte de su próxima confirmación.

Una vez que esté listo, realiza una confirmación, que toma los archivos del área de preparación y guarda esa instantánea permanentemente en el directorio 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 diga 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 “Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Para verificar la configuración de Git, use el siguiente comando.

$ git config --list 

Ver configuración de Git

Crea un nuevo repositorio Git

Los repositorios compartidos o los flujos de trabajo centralizados son muy comunes y eso es lo que demostraremos aquí. Por ejemplo, suponemos que se le ha encomendado la tarea de configurar un repositorio central remoto para administradores / programadores del sistema 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 cree el directorio necesario, cree un grupo llamado sysadmins (agregue todos los miembros del equipo del proyecto a este grupo, por ejemplo, administrador de usuarios) y establezca los permisos apropiados 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 desnudo 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/

List Git Shared Repository

Clonar un repositorio Git

Ahora clone el repositorio Git compartido remoto en su 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 con la mayoría de los repositorios públicos en Github), por ejemplo:

$ git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts 

Para clonarlo en un directorio específico ( ~ /bin/bashscripts ), use el siguiente comando.

$ git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts ~/bin/bashscripts

Clonar repositorio Git compartido en local

Ahora tiene una instancia local del proyecto en un repositorio no desnudo (non-bare) (con un directorio de trabajo), puede crear la estructura inicial del proyecto (es decir, agregar un archivo README.md , subdirectorios para diferentes categorías de scripts, por ejemplo, reconocimiento 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 realizado y así sucesivamente.

$ git status 

Verificar estado de Git

Git Stage Changes y Commit

Luego, realice todos los cambios con el comando add con el modificador -Ay realice la confirmación inicial. El indicador -a le indica al comando que organice automáticamente los archivos que se han modificado y -m se utiliza para especificar un mensaje de confirmación:

$ git add -A
$ git commit -a -m "Initial Commit"

Do Git Commit

Publicar confirmaciones locales en el repositorio remoto de Git

Como líder del equipo del proyecto, ahora que ha creado la estructura del proyecto, puede publicar los cambios en el repositorio central utilizando el comando push como se muestra.

$ git push origin master

Empuje Comprometerse con el repositorio Centrol Git

En este momento, su repositorio git local 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 estado de Git

También puede informar a sus colegas para comenzar a trabajar en el proyecto clonando el repositorio en sus computadoras locales.

Crear una nueva rama de Git

La ramificación le permite trabajar en una característica 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 de branch (rama) y checkout (pago) , respectivamente.

$ git branch latest
$ git checkout latest

Alternativamente, puede crear una nueva rama y cambiar a ella en un solo paso utilizando el comando de pago con la bandera.-b

$ git checkout -b latest

También puede crear una nueva rama basada 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

Verificar rama activa

Después de crear y cambiar a la nueva rama, realice algunos cambios debajo de ella y realice algunas confirmaciones.

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

Fusionar cambios de una rama a otra

Para fusionar los cambios bajo la prueba de bifurcación en la bifurcación maestra, cambie a la bifurcación maestra y realice la fusión.

$ git checkout master 
$ git merge test 

Fusionar rama de prueba en maestro

Si ya no necesita una rama en particular, puede eliminarla con el interruptor. -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 a su instancia local del proyecto utilizando el comando pull .

$ git pull origin
OR
$ git pull origin master	# si ha cambiado a otra rama

Extraer cambios del repositorio central

Inspeccione el repositorio de Git y realice comparaciones

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

Otra característica importante es el comando show que muestra varios tipos de objetos (como commits, etiquetas, árboles, etc.):

$ git show

Git Show Objects

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

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

$ git diff master latest

Mostrar diferencia entre ramas

Resumen

Git permite que un equipo de personas trabajen juntas usando los mismos archivos, mientras que registran los cambios en los archivos a lo largo del tiempo para que puedan recuperar versiones específicas más adelante.

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.

Otros artículos que le puede interesar:

Tutorial, Manual, Guía para Usar 'git'

Manual: Como usar Git y GitHub

La Interfaz gráfica (más bien web) de Subversión y GitHub, submin 2.2.1

 

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política