# Comandos básicos de git

Una pequeña guía para utilizar git en tu próximo proyecto.

## Primeros pasos
- **git init ** Crea un nuevo repositorio local
- **git status:** Estado actual de los archivos en nuestro repositorio. Se muestran aquellos que no se han agregado y cuales han sido modificados.
- **git add ** Agrega un archivo al repositorio. El archivo pasa al área de "staging"

     ```git add index.html``` 

     ```git add .``` 
- **git config --global user.name**Agrega a la configuración global el nombre del desarrollador

     ```git config --global user.name "Hugo López"
``` 
- **git config --global user.email** Agrega a la configuración global el correo electrónico del desarrollador

     ```git config --global email "hola @  hugomx.dev"
``` 


## Realizando commits
- **git commit ** Guarda los cambios realizados en el área de preparación

     Guarda los cambios y agrega un comentario

     ```git commit -m "Mi primer commit``` 
     
     Guarda los cambios, agrega un comentario y agrega los archivos faltantes al repositorio
     
     ```git commit -am "Mi primer commit``` 

- **git log **  Muestra el historial de versiones

     ```git log``` 

     ```git log index.html``` 


- **git rm ** Eliminar archivos de Git sin eliminar su historial del sistema de versiones
     Elimina los archivos de nuestro repositorio local y del área de staging, pero los mantiene en nuestro disco duro. 

     Elimina los archivos de nuestro repositorio local y del área de staging, pero los mantiene en nuestro disco duro.

     ```git rm --cached index.html```

     Elimina los archivos de git y del disco duro

     ```git rm --force index.html```

    

     

## Analizando cambios en los archivos

- **git show ** Muestra los cambios que han existido sobre un archivo.

     ```git show index.html``` 

- **git diff ** Muestra la diferencia entre dos archivos

     ```git diff version1_11f7eb7342e368  version2_0f2b4683ac733eda``` 


## Volver en el tiempo en los repositorios

- **git reset ** Podemos volver a una versión anterior de nuestro proyecto

     ```git reset 757588894a3475a47301a0f5c2f570b791b21f63``` 

- **git checkout + ID del commit ** Podemos volver a cualquier versión anterior de un archivo específico. Esta también es la forma de crear ramas y movernos entre ellas.

     Regresamos a nuestro repositorio un archivo particular de una versión específica. Aún no se hace un commit
     ```git checkout 757588894a3475a47301a0f5c2f570b791b21f63 index.html``` 

    Regresamos a nuestro repositorio  la última versión de nuestro archivo de una rama en particular. 

     ```git checkout main index.html``` 

## Trabajando con ramas (branches)

Crear una nueva rama

```git branch <nombre-.rama>```
 
Git branch <nombre-.rama>

```git checkout <nombre-rama>``` 

Movernos a una rama en específica

```git checkout <nombre-rama>``` 
 
Mostrar las ramas que existen

```git branch``` 

Fusiona una rama con otra

```git merge <nombre-rama> -m “comentario”``` 



 


