Skip to content

Learning git

Federico edited this page Jul 15, 2022 · 2 revisions

1. Estructura

2. Comandos

Comando más util

git help o git help <argumento>

Ejemplo: git help status

2.1 Comandos de configuracion

Listar las configuraciones:

git config --global --list

2.1.1 Configurar nombre y email.

Listar el nombre de git desde la consola de comandos:

git config --global user.name

Configurar el nombre:

git config --global user.name "Nombre"

Configurar correo:

git config --global user.email "email@email.com"

2.1.2 Configurar colores

git config --global color.ui true

2.2 Iniciar un proyecto git

Inicio de un proyecto, git comienza a monitorear los cambios:

git init

Estado del proyecto.

git status

Añadir archivo que se le hará commit, es decir pasaron de working direcitry a stage

git add

Para unstage

git rm --cached <file>

Guardar los cambios, es hacer un commit.

git commit -m "My first commit"

Cuando modificamos un fuente, queremos descartar esos cambios del working directory:

git restore <file>

Lista de información sobre los commits

git log

Para viajar entre commits y ramas:

git checkout <commit>

Cambiar al último commit o a la rama master:

git checkout master

Elimimar commits

git reset --soft <commit> No toca el working area, es decir no queremos el commit pero si el cambio.
git reset --mixed <commit> Hace un unstage , no toca el working area
git reset --hard <commit> Borra todo lo que está en el commit

--soft, cambia al commit selecionado, pero no borra cambios. Los commit anteriores los borra. Los cambios quedan listo para hacerle commit

--hard, borra el commit y el cambio. Si tenemos 3 versions, y voy a la versión 1 con git reset --hard, se borra la versión 2 y 3.

--mixed, los cambios quedan listos para hacer add o para descartar los cambios.

2.2 Branch and merge

UNA RAMA EN GIT, ES UNA COPIA DE OTRA RAMA, DONDE SE PUEDE PROBAR, AREGLAR ERRORES, PARA LUEGO AÑADIR ESOS CAMBIOS A LA RAMA PRINCIPAL.

Para crear una rama, estar en la rama de la cual se va a crear.

git branch <name branch>

Para cambiar de rama:

git checkout <branch>

La forma de crear una rama y quedar en la rama:

git checkout -b <name branch>

Para hacer una fusión con otra rama. Se debe estar posicionado en la rama que va a recibir los cambios de otra rama.

git merge <branch>

Para borrar una rama:

git branch -d <branch> git branch -D <branch>

2.3 repositorio remoto: git hub

Para vincular el proyecto local con el proyecto remoto:

git remote add origin <link remote repository>

Para quitar la conexión remota:

git remote remove origin

Listar la conexión remota:

git remote -v

Enviar los cambios del repositorio local al repositorio remoto:

git push origin <branch>

2.4 save credencial git on local

git config --global credential.helper store

3. Commits

3.1 Hacer un commit

git commit -m "mensaje del commit"

3.2 Renombrar un commit, creandolo de nuevo.

git commit --amend -m "nuevo mensaje"

4. Push

4.1 Enviar commits al repositorio remoto (push)

git push origin <branch>

4.2 Forzar un push

Si el commit no tiene cambios, git no lo reconoce como un cambio, pero se renombró el commit, por tanto se forza con -f.

git push origin master -f

5. Pull

6. Tags

Usadas para describir las versiones de un proyecto.

6.1 Tag anotadas

Tiene más información

git tag -a v0.6 -m "version 0.6"

6.1.1 Tag a un version de commit en específico

git tag -a v0.1 -m "version 0.1 <Sha commit>

6.2 Tag ligeras

Tienen poca información.

6.3 push a un tag

Indicar el tag

git push origin v0.6

Dónde v0.6 fue un tag creado para el último commit.

Para subir todos los tags git push origin --tags