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
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