Git, Github y Gitlab

Edwar Diaz Ruiz

Estudiante de ultimos semestres de ingenieria de sistemas

Desarrolador WEB full stack

BOTOOM
SrBotom
@sr.botom
SR.BOTOM
eddiazr@correo.udistrital.edu.co

Que son ? ...

Git no es github ni Gitlab

Git


Sistema de gestion de versiones

Github y Gitlab


Plantaforma online con base en Git, con varias funcionalidades extra

Primeros Pasos

Instalacion


Configuracion basica

Usuario

git config --global user.name [nombre]

Correo

git config --global user.email [email de la cuenta]

Listar cambios

git config --global --list

Configuracion proxy

Agregar:

git config --global http.proxy http://direccion_ip_proxy:puerto

Eliminar:

git config --global --unset http.proxy

Inicio de un proyecto

En local

git init

Crear repositorio remoto

Conexion con repositosio remoto

Conexion entre repositorio remoto y local

git remote add origin [https del repo]

Verificar conexion

git remote -v

Desconectar repositorio

git remote remove origin

Versiones

Ver cambios en el proyecto:

git status

Añadir cambios

Solo un archivo:

git add [nombre del archivo]

Todos lo cambios

git add -A
git add .

Guardar cambios

git commit -m "[mensaje corto de consiso sobre los cambios]"

listado de commits

git log
git log > commits.txt
git log --oneline --all --graph

viaje entre versiones

Ir a cualquier version

git checkout [codigo sha]

Ir a la ultima version:

git checkout [nombre de la rama]

reset

solo eliminar el commit(no afecta el código):

git reset --soft [codigo sha]

borra el commit y el código:

git reset --hard [codigo sha]

subir cambios

Subir cambios al repositorio:

git push origin [nombre de la rama]

Ramas o Branch

listar ramas

git branch
git branch -a

crear una rama

git branch [nombre de la rama]

eliminar una rama

git branch -D [nombre de la rama]

moverse entre ramas

Pasar de una rama a otra

git checkout [nombre de la rama]

crear una nueva rama y moverse a ella al tiempo

git checkout -b [nombre de la rama]

fusiones

primeramente se debe mover a la rama que recibira los cambios

merge con fast-forward

git merge [nombre de la rama que sera absorbida]

merge sin fast-forward (recomendado para el historal)

git merge --no-ff [nombre de la rama que sera absorbida]

codigo en equipo

subir cambios

git push origin [nombre de la rama]

bajar cambios

git pull

actualizar tu rama actual con otra de diferente o del mismo nombre que este arriba

git pull origin [nombre de la rama]

github pages

github te permite subir y dejar publicos sitos web estaticos

debes seguir los siguientes pasos

  • tener un archivo llamado index.html (este sera el que se leera principalmente)
  • crear una rama llamada gh-pages (esta rama github la detecta automaticamente para el uso del sitio)
  • la direccion web se tu pagina sera
    [nombre de perfil u organizacion].github.io/[nombre del repo]

Cherry pick

se puede usar cuando hicimos uno o varios commits en una rama que no era y necesitamos mover todo a otra rama

pasarnos a la rama que deberia tener el commit

git checkout [nombre de la rama]

ahora queremos traer a esta rama el commit de la otra rama

[sha 1] = codigo sha del commit que queremos traer desde la otra rama

git cherry-pick [sha 1] 

ya abremos realizado un duplicado del commit en nuestra rama

nos devolvemos la rama con el error del commit

git checkout [nombre de la rama]

ahora se realizara un reset de la rama hasta el commit anterior a commit movido

[sha 2] = codigo del commit anteior al commit movido

git reset --hard [sha 2]

ya nos podremos devolver a la rama a la que movimos el commit

issue,milestones,labels,

projects