Git es una grandiosa herramienta que nos permite realizar un control de versiones profesional sobre nuestros proyectos y saber manejarla es un plus muy importante, en este post resumo algunos puntos importantes que me han servido a lo largo de mi carrera como Desarrollador Web.
Configuraciones globales
Para realizar configuraciones ejecutamos el comando "git config --global", por ejemplo para establecer el usuario y el correo del usuario global en tu pc o laptop debes ejecutar:
### CONFIGURACION GLOBAL
git config --global user.name "YOUR_USER_NAME"
git config --global user.email "YOUR_USER_EMAIL"
Inicializar un repositorio
Para inicializar un repositorio en el directorio actual ejecutamos:
git init
Añadir archivos al stage
Para añadir archivos al stage y github les mantenga seguimiento ejecutamos el comando:
git add file_name // archivo en especifico
git add . // todos los archivos
Cambiar de Rama
Si estas trabajando en una rama y deseas cambiar a otra y crearla al mismo tiempo puedes ejecutar el comando:
git checkout -b branch_name
Hacer un commit
Si estas trabajando con archivos en el stage y deseas hacer un commit debes ejecutar el comando:
git commit -m "message_to_commit"
Mostrar origenes locales y remotos del repositorio
Si estas trabajando con archivos en el stage y deseas hacer un commit debes ejecutar el comando:
git remote show origin
Remover archivos
En git para remover archivos es similar a como se trabaja en Linux
git rm ‘.txt’ #remover un archivo en especifico
git rm -r ‘doodle’ #remover carpetas
git rm -r --cached . # remover archivos cache
Listar diferencias
Para poder listar las diferencias o cambios entre el repositorio remoto y el local podemos ejecutar el comando:
git diff [filename]
Crear alias de comandos
Si deseas ver de una mejor manera el log de tu repositorio puedes crear el siguiente alias
git config --global alias.lg "log --oneline --decorate --all --graph"
Con esto para ver el log del repositorio solo debes ejecutar "git lg"
Si deseas listar de una forma amigable los archivos que estan en el stage o los que no están puedes crear el alias
git config --global alias.s "status -s -b"
Con esto para ver el log del repositorio solo debes ejecutar "git s"
Crear etiquetas(tags)
Para crear etiquetas, por ejemplo para mantener un versionado del proyecto debemos ejecutar el comando:
git tag -a v0.0.1 #commit -m "message" //reemplazas v.0.0.1 por tu versión
Para subir las etiquetas a Github debes eejecutar el siguiente comando, ya que por defecto no se suben al ejecutar un git push
git push --tags
Clonar Repositorio
Para clonar un repositorio lo hacemos de la siguiente manera, especificando la url del repositorio y opcionalmente la rama que deseamos clonar
git clone [branch_name] url_repositorio_remoto directorio_local_donde_guardar
Bajar cambios de un repositorio remoto
Podemos utilizar el comando
git pull origin [branch_name] [--allow-unrelated-histories]
el cual descarga los cambios remotos e inmediatamente intenta hacer un merge con los cambios locales. Si no deseas que suceda esto puedes usar los siguientes comandos:
git fetch origin [branch_name] [--all]
el cual se descarga los cambios remotos, y luego con el comando:
git merge
realizamos manualmente la fusión(merge), si da errores de conflictos revisamos los archivos que dieron conflicto y podemos aceptar los dos cambios, aceptar nuestros cambios o aceptar los cambios que vienen del repositorio remoto
Regresar al ultimo commit y descartar nuevos cambios
Para resetear nuestro repositorio al ultimo commit debemos ejecutar el siguiente comando:
git reset --hard origin/[branchname]
Setear una rama local a una rama remota
Si creamos una rama local y queremos que git sepa a que rama nos referimos cuando queremos hacer un git push o git fetch, debemos ejecutar el siguiente comando:
git branch --set-upstream-to=origin/[branch_local_name] [branch_remote_name]