Conceptos básicos de Git
Tags: webdev, spanish, beginners, git
Published: 2022-01-31 02:20:52

* Sistema de control de versiones que permite alojar los avances realizados en un proyecto dentro de un repositorio.
* Git permite que varios desarrolladores realicen modificaciones en simultaneo sobre un mismo proyecto.
* El software necesario para el uso de Git debe ser instalado desde la línea de comandos o descargado desde su web oficial.

Una vez Git se encuentre instalado en el sistema, es posible hacer uso de este ya sea mediante la línea de comandos o a través de una interfaz gráfica.

## Flujo de desarrollo

* Directorio de trabajo - En este se encuentran los diferentes recursos que hacen parte del proyecto.
* Área de ensayo - En esta ubicación se localizan los recursos a los cual Git les esta haciendo seguimiento, permitiendo su manipulación de manera previa al alojamiento en el repositorio.
* Repositorio - Una vez se han realizado los cambios necesarios en el proyecto, estos son publicados y otros desarrolladores pueden visualizarlos.

## Comandos básicos

Para iniciar con el seguimiento del proyecto mediante Git, es necesario por medio de la terminal navegar hasta la ruta donde se localiza el proyecto por medio del comando `cd`

```
$ cd Documents/proyect/
```

Una vez ubicados dentro del proyecto, por medio de la terminal se puede iniciar con la manipulación de los recursos que componen el mismo.

* Inicializar un repositorio local de Git
```
$ git init
```
* Añadir recursos al área de ensayo
```
$ git add <nombre del recurso>
```
* Realizar un commit (captura) del avance del proyecto
```
$ git commit -m <mensaje descriptivo del commit>
```
* Listar la informacion de los commits realizados en el proyecto
```
$ git log
```
* Muestra el estado de los recursos que hacen parte del proyecto, permitiendo visualizando a cuales se les esta haciendo seguimiento y a cuales no
```
$ git status
```

## Repositorio remoto

Los servidores remotos permiten alojar copias de un proyecto en servidores conectados a alguna red, tal es el caso de GitHub, la cual es una plataforma a la que se tiene acceso por medio de Internet.
Una vez realizado el registro en GitHub, es posible crear un repositorio que luego se conectará con el repositorio local de Git de la siguiente manera:

* Vincular el repositorio local con el repositorio remoto de GitHub
```
$ git remote add origin <url>
```
* Publicar los commits realizados en el repositorio remoto por primera vez
```
$ git push -u origin main
```
* Luego de realizar la primera publicación, los siguientes commits serán alojados en el repositorio remoto con el siguiente comando
```
$ git push
```
* Clonar un repositorio remoto en nuestro sistema
```
$ git clone <url>
```
* Actualizar los cambios realizados desde el repositorio remoto con el repositorio local
```
$ git pull
```

## Ramas

El seguimiento de un proyecto, así como las modificaciones realizadas sobre el mismo por defecto se alojan en una rama conocida como `main`.
Ya que Git es una herramienta que permite el trabajo colaborativo, es posible crear derivaciones de la rama principal del proyecto, sobre las cuales otros desarrolladores pueden generar sus propios avances, creando sus propios commits que posteriormente serán unidos a la rama principal.

* Listar las ramas que hacen parte del proyecto
```
$ git branch
```
* Crear una nueva rama
```
$ git branch <nombre de la rama>
```
* Ubicarse sobre una rama en especifico
```
$ git checkout <nombre de la rama>
```
* Cambiar el nombre de una rama
```
$ git branch -m <nuevo nombre de la rama>
```
$ Integrar 2 ramas (Para esto es necesario estar ubicado sobre la rama principal del proyecto)
```
$ git checkout main
$ git merge <nombre de la rama>
```
* Eliminar una rama que ya a sido integrada con la principal
```
$ git branch -d <nombre de la rama>
```
* Eliminar una rama que no se desea integrar con la principal
```
$ git branch -D <nombre de la rama>
```