Inicio » Sin categoría » Chuleta de git

Chuleta de git

Objeto

Esto es una chuleta para mi. Nada más.

Instalar

Para Linux Ubuntu

$ sudo apt update
$ sudo apt install git

Y probamos si ha ido bien la cosa

$ git --version
git version 2.17.1

Configurar parámetros globales

Algunos parámetros globales

$ git config --global user.name "Angel Perles"
$ git config --global user.email "aperles@itaca.upv.es"

Crear un repositorio

A partir de un proyecto local

Si, por ejemplo, tenemos un proyecto en el diretorio pepito, hacemos

$ cd pepito
$ git init

Y, dentro de petito, se creará el .git con los metadatos para el seguimiento del proyecto.

CUIDADÍN: Que los archivos aún to están en seguimiento.

Un proyecto en blanco o con plantilla

La idea es que se crea un directorio, por ejemplo, juanito, que contiene un repositorio git en blanco para que empecemos a trabajar

$ git init juanito

Se puede crrear un nuevo repositorio a partir de una plantilla con …

otro día

Repositorios «bare»

Otro día, pero tendré que mirarlo

Gestionar los archivos del repositorio

Es decir, añadir, borrar, mover … archivos al seguimiento.

Siempre podemos ir viendo cómo va la cosa usando

$ git status

Añadir archivos

IMPORATANTE: Más aque añadir al repositorio, lo que se está haciendo es añadir al siguiente commit. Ver https://git-scm.com/book/es/v2/Fundamentos-de-Git-Guardando-cambios-en-el-Repositorio

Para añadir un solo archivo

$ git add archivo

Para añadir archvos de un directorio

$ git add directorio

Para añadir archivos de u directorio y subdirectorios con un determinado patrón. VIGILA que se usa «\» para el escape

$ git add directorio/\*.c

Meterlo todo en el git (mejor mirar antes lo de .gitignore)

$ git add .

¿No estamos seguros de qué se va a añadir? Pues metemos –dry-run para ver cuál es la intención de la orden, por ejemplo

$ git add --dry-run directorio/\*.c

NOTA: Los archivos ignorados por la configuración (.gitignore) no son añadidos aunque se ponga explícitamente en la orden.

NOTA: Los directorios vacíos no se añaden. Se puede forzar que se añadan metiendo algún archivo vació dentro.

Ignorar archivos

Para evitar que cirtos archivos o patrones de archivos se añdan al repositorio se puede crear el archivo .gitignore en la raiz del repositorio (bueno, en realidad, puede ser más complicado que esto).

Cada línea del archivo es un patrón de archivos a excluir, por ejemplo

#.gitignore de ejemploLoRaWAN/MDK-ARM/output
LoRaWAN/Third_Party/STM32CubeExpansion_LRWAN/_htmresc
LoRaWAN/Third_Party/STM32CubeExpansion_LRWAN/Projects
LoRaWAN/Third_Party/STM32CubeExpansion_LRWAN/Drivers/STM32L1xx_HAL_Driver
LoRaWAN/Third_Party/STM32CubeExpansion_LRWAN/Drivers/STM32L4xx_HAL_Driver
LoRaWAN/Third_Party/STM32CubeExpansion_LRWAN/Drivers/CMSIS/Lib/IAR

Mover archivos

$ git mv pedro.c juan.c

Y acordarse después hacer "status" y "add" según interese.

Hacer commit

Hacer un «commit» es hacer una «foto» del estado actual del proyecto y meterla en la historia del proyecto.

Antes de proceder es bueno hacer un «status» por si se nos ha olvidado algún archivo

$ git status

Si todo está bien, hacemos el ‘commit’ y le asociamos un mensaje explicativo,

$ git commit -m 'Primer commit'

Con log podemos ver por dónde estamos

$ git log
commit 356789fa7d25e98aeac4c71d1d7a212c87ba27e8 (HEAD -> master)
Author: Angel Perles <aperles@disca.upv.es>
Date: Sun Apr 26 20:16:49 2020 +0200

 

Push a bitbucket

Crear el repositorio en bitbucket,

Configurar el repositorio local para que el «origin» sea Bitbucket

$ git remote add origin git@bitbucket.org:microris/cc_node_b-l072z-lrwan1.git
$ git push -u origin master

Lo más seguro es que dé un error de permiso denegado.

Seguir https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html para crear una ssh-key

 

Gestionar ramas (branch)

Las ramas permiten trabajar con distintas variantes del proyecto que, una vez estabilizadas/probadas/etc. pueden ser combinadas con la rama principal.

Todas las operaciones previas se hacen sobre la rama en la que estemos trabajando actualemente sin afectar al resto de ramas.

Se puede usa git checkout para saber en la rama en la que estamos.

Crear un rama

Para crear una nueva rama de trabajo se usa

$ git branch [nombre_rama]

Por ejemplo

$ git branch reorganization

Se acaba de crear una rama, pero creo que se sigue estando en la rama anterior. Comprobarlo con «checkout». Si se hace lo del siguiente punto sí se ve qu estamos en la otra rama (COMPROBAR)

Moverse a una rama

$ git checkout [nombre_rama]

 

 

ACI ME QUEDAT ####

Aci ficar com crear i despres pujar a bitbucket

 

 

Enlaces

Resúmenes

GitHub Cheat sheet English (pdf)

 

https://git-scm.com/docs

https://www.atlassian.com/git/tutorials