Git es un sistema de control de versiones distribuido de código abierto . Eso es un montón de palabras para definir a Git.
Déjame desglosarlo y explicar la redacción:
- Sistema de control: esto básicamente significa que Git es un rastreador de contenido. Por lo tanto, Git se puede usar para almacenar contenido; se usa principalmente para almacenar código debido a las otras características que proporciona.
- Sistema de control de versiones : el código que se almacena en Git sigue cambiando a medida que se agrega más código. Además, muchos desarrolladores pueden agregar código en paralelo. Por lo tanto, el Sistema de control de versiones ayuda a manejar esto al mantener un historial de los cambios que han ocurrido. Además, Git proporciona características como ramas y fusiones, que cubriré más adelante.
- Sistema de control de versiones distribuido : Git tiene un repositorio remoto que se almacena en un servidor y un repositorio local que se almacena en la computadora de cada desarrollador. Esto significa que el código no solo se almacena en un servidor central, sino que la copia completa del código está presente en todas las computadoras de los desarrolladores. Git es un sistema de control de versiones distribuido ya que el código está presente en la computadora de cada desarrollador. Explicaré el concepto de repositorios locales y remotos más adelante en este artículo.
Por qué se necesita un sistema de control de versiones como Git
Los proyectos de la vida real generalmente tienen varios desarrolladores trabajando en paralelo. Por lo tanto, se necesita un sistema de control de versiones como Git para garantizar que no haya conflictos de código entre los desarrolladores.
Además, los requisitos de dichos proyectos cambian con frecuencia. Entonces, un sistema de control de versiones permite a los desarrolladores revertir y volver a una versión anterior del código.
Finalmente, a veces varios proyectos que se ejecutan en paralelo involucran la misma base de código. En tal caso, el concepto de ramificación en Git es muy importante.
Comencemos a usar Git ahora
En lugar de mencionar todos los conceptos a la vez, explicaré los conceptos de Git a través de un ejemplo para que sea más fácil de seguir.
Descarga git
Este enlace tiene detalles sobre cómo instalar Git en múltiples sistemas operativos:
//git-scm.com/book/en/v2/Getting-Started-Installing-Git
Verifique si Git está instalado usando el siguiente comando en el símbolo del sistema:
git --version
Crea tu repositorio de Git local
En su computadora, cree una carpeta para su proyecto. Llamemos a la carpeta del proyecto simple-git-demo
.
Vaya a la carpeta de su proyecto y agregue un repositorio de Git local al proyecto usando los siguientes comandos:
cd simple-git-demo git init
El git init
comando agrega un repositorio de Git local al proyecto.
Agreguemos un código pequeño ahora
Cree un archivo llamado demo.txt
en la carpeta del proyecto y agregue el siguiente texto en él:
Initial Content
Aquí realizaremos una demostración con solo texto sin formato en lugar de código real, ya que el enfoque principal de este artículo está en Git y no en ningún lenguaje de programación específico.
Puesta en escena y confirmación del código
La confirmación es el proceso en el que el código se agrega al repositorio local . Antes de enviar el código, debe estar en el área de preparación . El área de preparación está ahí para realizar un seguimiento de todos los archivos que se van a confirmar.
Cualquier archivo que no se agregue al área de preparación no será comprometido. Esto le da al desarrollador control sobre qué archivos deben confirmarse.
Puesta en escena
Utilice el siguiente comando para preparar el archivo:
git add demo.txt
En caso de que desee agregar varios archivos, puede usar:
git add file1 file2 file3
Si desea agregar todos los archivos dentro de la carpeta de su proyecto al área de preparación, use el siguiente comando:
git add .
Úselo con cuidado, ya que agrega todos los archivos y carpetas de su proyecto al área de preparación.
Comprometerse
Utilice el siguiente comando para confirmar el archivo:
git commit -m "Initial Commit"
"Compromiso inicial" es el mensaje de compromiso aquí. Ingrese un mensaje de confirmación relevante para indicar qué cambios de código se realizaron en esa confirmación en particular.
Estado de Git y registro de Git
Ahora modifique el demo.txt
archivo y agregue el siguiente fragmento:
Initial Content Adding more Content
Estado
Úselo git status
para encontrar información sobre qué archivos se han modificado y qué archivos hay en el área de preparación; también muestra otra información, que podemos ignorar por ahora.
Utilice el siguiente comando para ver el estado:
git status
El estado muestra que demo.txt
está modificado y aún no está en el área de preparación.
Ahora agreguemos demo.txt
al área de preparación y la consigamos usando los siguientes comandos:
git add demo.txt git commit -m "demo.txt file is modified"
Iniciar sesión
Úselo git log
para imprimir todas las confirmaciones que se han realizado hasta ahora.
El comando utilizado para esto es:
git log
El registro muestra el autor de cada confirmación, la fecha de la confirmación y el mensaje de confirmación.
Ramas
Hasta ahora no hemos creado ninguna rama en Git. De forma predeterminada, las confirmaciones de Git van a la rama maestra .
¿Qué es una rama?
Una rama no es más que un puntero a la última confirmación en el repositorio de Git. Entonces, actualmente nuestra rama maestra es un puntero a la segunda confirmación “demo.txt file is modified”
.
¿Por qué se necesitan varias ramas?
Se necesitan múltiples ramas para soportar múltiples desarrollos paralelos. Consulte la imagen a continuación para ver cómo funcionan las ramas.

Inicialmente, la confirmación 1 y la confirmación 2 se realizaron en la rama maestra. Después de confirmar 2, se crea una nueva rama llamada "Prueba", y se agregan las confirmaciones 3 y 4 a la rama de prueba.
Al mismo tiempo, se agregan una confirmación 3 y una confirmación 4 diferentes a la rama maestra. Aquí podemos ver que después del Commit 2, se están realizando dos desarrollos paralelos en 2 ramas separadas.
La rama de prueba y la rama maestra han divergido aquí y tienen un código diferente; el código de la rama de prueba se puede fusionar con la rama maestra utilizando git merge
. Esto se cubrirá más adelante.
Crear una nueva sucursal en local
Cree una nueva rama llamada prueba usando el siguiente comando:
git branch test
Este comando crea la test
rama.
Todavía estamos en el contexto de la rama maestra. Para cambiar a la test
sucursal. use el siguiente comando:
git checkout test
Ahora estamos en la test
sucursal.
Puede enumerar todas las ramas en local usando el siguiente comando:
git branch
Hacer algunos compromisos en la nueva rama
Modifique demo.txt
agregando el siguiente fragmento:
Initial Content Adding more Content Adding some Content from test Branch
Ahora escenifique y confirme usando los siguientes comandos:
git add demo.txt git commit -m "Test Branch Commit"
Esta confirmación se realizó en la rama de prueba, y ahora la rama de prueba está por delante de la rama maestra por 1 confirmación, ya que la rama de prueba también incluye las 2 confirmaciones de la rama maestra.
Puede verificar el historial de confirmaciones en Test Branch usando:
git log
Fusión
Actualmente, Test Branch está por delante del Master por 1 confirmación. Digamos que ahora queremos que todo el código de la rama de prueba se devuelva a la rama principal. Aquí es donde git merge
resulta muy útil.
Para fusionar el código de la rama de prueba en la rama maestra, siga estos pasos:
Primero regrese a la rama maestra:
git checkout master
Luego ejecuta el merge
comando:
git merge test
Después de ejecutar estos 2 comandos, la combinación debería realizarse correctamente. En este ejemplo, no hay conflictos.
Pero en proyectos reales, habrá conflictos cuando se realice una fusión. Resolver el conflicto es algo que viene con la experiencia, así que a medida que trabajes más con Git podrás aprender a resolver conflictos.
correr git log
ahora y notará que el maestro también tiene 3 confirmaciones.
El repositorio remoto de Git
Hasta ahora, hemos estado trabajando solo en el repositorio local. Cada desarrollador trabajará en su repositorio local, pero eventualmente, enviarán el código a un repositorio remoto. Una vez que el código está en el repositorio remoto, otros desarrolladores pueden ver y modificar ese código.

GitHub
Aquí usaremos GitHub para el repositorio remoto.
Vaya a //github.com/ y cree una cuenta.
Después de registrarse en la página de inicio de GitHub, haga clic en Iniciar un proyecto para crear un nuevo repositorio de Git. Asigne un nombre al repositorio y haga clic en "Crear repositorio"
Dar el nombre como git-blog-demo
.
Esto creará un repositorio remoto en GitHub, y cuando abra el repositorio, se abrirá una página como la siguiente imagen:

La URL del repositorio es la parte resaltada //github.com/aditya-sridhar/git-blog-demo.git
Para apuntar su repositorio local al repositorio remoto, use el siguiente comando:
git remote add origin [repository url]
Git Push
Para enviar todo el código del repositorio local al repositorio remoto, use el siguiente comando:
git push -u origin master
Esto empuja el código de la rama maestra en el repositorio local a la rama maestra en el repositorio remoto.
Comandos adicionales
Git Pull
git pull
se utiliza para extraer los últimos cambios del repositorio remoto al repositorio local. Varios desarrolladores actualizan continuamente el código del repositorio remoto, por lo que git pull
es necesario:
git pull origin master
Clon de Git
git clone
se utiliza para clonar un repositorio remoto existente en su computadora. El comando para esto es:
git clone [repository url]
Felicidades
Ahora que conoce los conceptos básicos de cómo usar Git, ¡siga adelante y explore más!
Pronto publicaré un artículo más sobre conceptos un poco más avanzados de Git. ¡Manténganse al tanto!
Sobre el Autor
Amo la tecnología y sigo los avances tecnológicos. También me gusta ayudar a otros con cualquier conocimiento que tenga en el espacio tecnológico.
No dude en conectarse conmigo en mi cuenta LinkdIn //www.linkedin.com/in/aditya1811/
También puedes seguirme en twitter //twitter.com/adityasridhar18
Mi sitio web: //adityasridhar.com/
Otras publicaciones mías
Cómo usar Git de manera eficiente