Introducción al control de versiones con Git

El software se está comiendo el mundo en todo el sentido posible. A medida que avanza la tecnología y avanzamos lentamente hacia el mundo controlado por la inteligencia artificial, los puestos de trabajo en el sector de la tecnología experimentarán un aumento. Escribir software es una habilidad que puede ser autodidacta y también es bastante fácil, al menos en el mundo actual con Internet literalmente desbordado de recursos similares. Pero como desarrollador de software, escribir código no es todo lo que se esperaría de usted. Debe aprender el arte sutil de administrar la base de código de su empresa a medida que escalan e introducen más funciones. Las personas que han escrito software antes saben que mantener la base del código es tan importante como escribir código de rendimiento y listo para producción.

Control de versiones

La pregunta obvia que podría haberle venido a la mente después de leer la introducción sería, ¿cómo se maneja su código base? La respuesta hoy serían los sistemas de control de versiones. Control de versiones o VCS, como se conoce popularmente como un sistema de software que administra y rastrea los cambios en un archivo en particular o un conjunto de archivos y le permite retroceder fácilmente en el tiempo para deshacer cualquier cambio innecesario que haya realizado.

Como principiante, aprender a codificar ya puede parecerle bastante abrumador y, además, agregar la responsabilidad de administrar el código por sí mismo, ciertamente suena como una tarea gigantesca, ¿no es así? Bueno, no necesitas preocuparte. En este artículo, lo guiaré a través de un procedimiento paso a paso para administrar su base de código bajo un sistema de control de versiones y, al mismo tiempo, le diré un poco sobre por qué es una habilidad importante para aprender.

En la comunidad de desarrolladores, Git es el VCS más popular disponible, por lo que basaremos este artículo en Git. Junto con Git, también le daría una breve introducción a GitHub, que es un servicio de alojamiento de repositorios de control de versiones.

Linus Torvalds, el padre de la Kernel Linux, mientras desarrollaba el mismo, se encontró con una situación en la que ya no podía administrar correctamente el código que estaba escribiendo en el momento en que estaba usando BitKeeper. Así que tomó un pequeño desvío para desarrollar Git y lo hizo público en el año 2005. El diseño de Git se basó de cerca en BitKeeper. El nombre "git" fue dado por Linus Torvalds cuando escribió la primera versión. Describió la herramienta como "el rastreador de contenido estúpido".

¿Por qué todos los desarrolladores necesitan aprender a usar VCS?

Los sistemas de software tradicionales se componen de varios archivos, distribuidos en muchos directorios y, en una empresa típica, hay varios desarrolladores que escriben cambios en la pila de software al mismo tiempo. Es muy importante que todos los desarrolladores se mantengan lo más productivos posible pero, al mismo tiempo, es igualmente importante mantener a todo el equipo en la misma página. Lo que significa que cada persona del equipo debe saber exactamente qué funciones se están desarrollando. Otra cosa importante a tener en cuenta al desarrollar software es el hecho de que el trabajo de una persona no debe afectar el trabajo de otra persona del mismo equipo. En términos sencillos, lo que quiero decir es que si usted, como desarrollador, está trabajando en una función, no debería obstaculizar el flujo de trabajo de ninguno de sus compañeros de equipo mientras escribe cambios en la base de código. Todos estos casos se manejan de manera muy elegante con VCS. No solo facilita la vida de los desarrolladores al realizar un seguimiento de los cambios emitidos por cada individuo en el equipo, sino que también mantiene un historial de versiones en un formato simple para que cualquier cambio accidental en la base de código se pueda evitar fácilmente.

Hay muchos sistemas de control de versiones disponibles en el mercado como Subversion, Mercurial, etc. pero la razón por la que nos estamos enfocando en Git es que es, con mucho, la opción más popular disponible.

Preparar

La configuración de git es diferente según el sistema operativo en el que se encuentre. Lo guiaré a través del proceso de configuración en macOS, Linux y Windows.

macOS

Instalar Git es bastante fácil en Mac, primero asegúrese de haber instalado brew, el popular administrador de paquetes para Mac. Una vez que la preparación está configurada (que, sinceramente, toma solo unos minutos dependiendo de la velocidad de Internet) solo necesita emitir el siguiente comando:

  • brew instalar git

Linux

El proceso de instalación en Linux también es bastante similar al de macOS. Abra la terminal y emita el siguiente comando:

  • sudo apt-get install git

Windows

El proceso de instalación en Windows es un poco diferente. En Windows, necesita descargar un instalador. Dirigirse a este enlace para descargar el último instalador y luego ejecutar el instalador para instalar git en su máquina con Windows.

Cómo Empezar

Ahora que tiene la configuración de su sistema. Necesitas inicializar un repositorio de git. ¿Qué es un repositorio, preguntas? Es la carpeta / directorio en el que se almacenan todos los archivos de su proyecto. Estos son los pasos para inicializar un repositorio de git.

  • Inicie la Terminal / Símbolo del sistema en su máquina.
  • Navegue hasta el directorio del proyecto que contiene todos los archivos del proyecto. (Esto generalmente se hace usando el comando cd en todas las plataformas)
  • ahora que está dentro del directorio de su proyecto, emita el siguiente comando: git init

Iniciar Git

Ahora que ha inicializado su repositorio de git, git sabe que tiene que realizar un seguimiento de los cambios en todos los archivos del directorio. Git ahora sabrá cada vez que agregue o elimine archivos en el directorio del proyecto o realice cambios.

Realizar cambios y emitir su primer compromiso

La parte más importante de cualquier VCS es el seguimiento de los cambios. Cada vez que emita un cambio en el directorio del proyecto, se reflejará en el estado del repositorio. Continúe y agregue un archivo al directorio o realice un cambio en un archivo existente. Después de hacerlo, no puede emitir el siguiente comando para verificar el estado del archivo en el repositorio.

  • estado de git

Satus Git

Como puede ver, git dice que hay un archivo sin seguimiento. Ahora necesitamos agregar el archivo sin seguimiento al área de preparación de git. Puede pensar en el área de preparación como la etapa intermedia antes de que se finalice un cambio. Para agregar el archivo al área de preparación, emita el siguiente comando:

  • git agregar

Al emitir el comando git add, puede volver a emitir un comando de estado para ver el estado del archivo.

Ahora que el archivo se ha agregado al archivo en el área de preparación, es hora de finalizar su cambio con un mensaje de confirmación. Emita el siguiente comando:

  • git commit - m "YOUR_MESSAGE"

Reemplace la parte debajo de las comillas con su propio mensaje personalizado. Ahora, verifique su repositorio con un estado de git. Notarás que la confirmación fue exitosa.

Compromiso de Git

Derivación

La ramificación es un tema clave en el sistema de control de versiones. Es muy importante separar las partes del proyecto del establo (las cosas que funcionan perfectamente bien y se han probado) de las partes que se encuentran actualmente en desarrollo. Es importante porque debe asegurarse de que las personas que usan su software no se vean afectadas por los cambios que realice al agregar una nueva función. Aquí es donde viene la ramificación a la imagen. Ayuda a segregar su base de código en diferentes entornos sandbox para que sus partes de trabajo no se vean afectadas por ningún cambio que realice en las otras partes.

Crear una rama usando Git es bastante simple. Simplemente emita el siguiente comandante

  • git checkout -b "BRANCH_NAME"

Después de hacerlo, puede verificar en qué rama se encuentra emitiendo el siguiente comando:

  • rama de git

rama de git

Compartir su código en GitHub

Ha aprendido con éxito los fundamentos del control de versiones usando git. Ahora es el momento de hacer público su proyecto compartiéndolo con la comunidad de desarrolladores. Este es el primer paso hacia el desarrollo de software de código abierto. Abrir su código significa marcarlo como público para que otros puedan verlo, contribuir a su desarrollo y, si es necesario, adaptarlo a sus propios proyectos.

gitHub

 

Asegúrese de tener una cuenta de GitHub antes de continuar.

Una vez que se haya registrado. Continúe y cree un repositorio en GitHub como se muestra en la captura de pantalla a continuación.

Agregar a GitHub

 

Una vez que cree el repositorio. Se le mostrarán más pasos que lo guiarán para llevar su proyecto a GitHub.

Instrucción de GitHub

Dado que ya ha creado un repositorio. Solo necesitas empujarlo. Emita el siguiente comando para hacerlo.

  • git remoto agregar origen REMOTE_URLgit push -u origin master

Una vez hecho esto, puede visitar la URL remota para ver sus proyectos. Otros en la comunidad pueden contribuir a sus proyectos emitiendo cambios.

Conclusión

Felicidades. Ahora está un paso más cerca de crear el próximo gran avance en tecnología. Y estoy seguro de que mientras lo hace, también aplicará los prácticos conceptos de control de versiones que le ha enseñado este artículo. Las grandes empresas como IBM, Google, etc.tienen enormes carteras de servicios que siguen evolucionando constantemente con tecnologías y características de vanguardia y la única forma en que pueden administrar un conjunto tan grande de productos, cada uno escalado a varios millones de líneas de código es a través del control de versiones. sistemas. Las propias empresas tienen su propia solución para VCS o confían en los populares VCS como Git o Subversion. La mayoría de los proyectos teóricos de código abierto están disponibles públicamente en GitHub. Sin duda, es una habilidad importante que dominar y saber cómo administrar grandes bases de código cambiará de manera efectiva la forma en que trabaja y también aumentará su credibilidad.

Aishwar Baber

Aishwar Babber es una bloguera apasionada y una comercializadora digital. Le encanta hablar y bloguear sobre las últimas tecnologías y dispositivos, lo que lo motiva a correr. GizmoBase. Actualmente está practicando su experiencia en marketing digital, SEO y SMO como especialista en marketing a tiempo completo en varios proyectos. Es un inversor activo en Bahía de afiliados y director en ImageStation.

Deja un comentario