Git - LibreColaboracion/taller GitHub Wiki

Guía Básica de Git


Estructura de trabajo Git

El proyecto en git se divide en tres archivos diferentes que son:

  1. Archivo o directorio de trabajo: Es donde se llevan a cambio las modificaciones del proyecto

  2. Cabecera: Es donde se incluyen los cambios que se realicen en el directorio de trabajo

  3. Repositorio: Es donde Git almacena permanentemente los cambios como diferentes versiones del proyecto

Ramas o branch: Son las diferentes bifurcaciones que se hacen del proyecto para crear nuevos funciones, por defecto solo existe la rama maestra o branch master.

Comandos Nivel 1

  • git init : Crea un nuevo repositorio.

  • git status : Inspecciona el contenido del directorio y a la cabecera.

  • git add : Agrega archivos desde el directorio de trabajo a la cabecera.

  • git diff : Muestra la diferencia entre el directorio de trabajo y la cabecera.

  • git commit : Incluye permanentemente los cambios en los archivos desde la cabecera al repositorio.

  • git log : Muestra una lista de todos los commits anteriores.

Comandos Nivel 2

  • git checkout HEAD filename : Descarta los cambios hechos en el directorio o carpeta de trabajo.

  • git reset HEAD filename : Descarta los cambios hecho en el archivo para visualizarlos en el area de trabajo.

  • git reset --hard HEAD : Se descartan todo los cambios previos al ultimo commit.

  • git reset SHA : Se puede utilizar para restablecer a un commit anterior en el historial de cambios.

Comandos Nivel 3

  • git branch : Muestra las ramas existentes del proyecto.

  • git branch nombre_rama : Crea una nueva rama.

  • git checkout nombre_rama : Cambia a la rama seleccionada.

  • git merge nombre_rama : Une la rama objetivo con la rama donde nos encontremos actualmente.

  • git branch -d nombre_rama : Elimina la rama objetivo.

Comandos nivel 4 Trabajo en equipo

  • ** git clone dirección_archivo_remoto carpeta_local_donde_se_copia :** Este comando sirve para copiar un repositorio remoto (alojado en un servidor) tiene dos parámetros .

    1. La dirección de donde viene.
    2. La dirección donde se recibirá.
  • git remote -v : Se puede ver una lista de los comandos a distancia de un proyecto git.

  • git fetch : Actualiza el head de la rama remota, sin alterar los cambios locales en los que se estén trabajando.

  • git merge origin master : Une los cambios hechos en la rama remota (origin) a nuestro rama principal. (master).

  • git pull : Actualiza el head de la rama remota y une los cambios hechos con nuestra rama principal.

  • git push origin rama_seleccionada : Sube a la rama remota (origin) los cambios hechos desde la rama seleccionada por nosotros.

¿Cómo resolver conflictos en git ?

Este es el código sin conflictos el que se encuentra en la cabecera

<div>
	<p> El palo no esta para cucharas....(fragmento de la obra "La rebelión" de Fernando Soto Aparicio)</p>
</div>

Este es un conflicto en git:

<div>
<<<<<<< HEAD
(aquí esta el código  que aparece en la cabecera)
	<p> El palo no esta para cucharas....(fragmento de la obra "La rebelión" de Fernando Soto Aparicio)</p>
=========================================================
(aquí el código que aparece en la rama)
	<p> No estaba el palo para hacer cucharas....(fragmento de la obra "La rebelión de las ratas" de Fernando Soto Aparicio)</p>
>>>>>>> rama
</div>

Se debe seleccionar uno de los dos contenidos (sobre o debajo de los iguales) y quitar las tipografías del error y nombre de los archivos del que provienen. En este caso escogeremos el código que viene de la rama, lo cual nos daría como resultado:

<div>
	<p> No estaba el palo para hacer cucharas....(fragmento de la obra "La rebelión de las ratas" de Fernando Soto Aparicio)</p>
</div>

Para terminar el conflicto se añaden los cambios y se incluyen a la rama master.

⚠️ **GitHub.com Fallback** ⚠️