Comandos básicos de GitHub – Git -Terminal

Algunos ejemplos de lo más usados en la línea de comandos al utilizar Github

Comandos básicos de GitHub #

  • git init: crear un repositorio.
  • git add: agregar un archivo a staging.
  • git commit -am “mensaje”: guardar el archivo en git con un mensaje.
  • git branch: crear una nueva rama.
  • git checkout: moverse entre ramas.
  • git push: mandar cambios a un servidor remoto.
  • git fetch: traer actualizaciones del servidor remoto y guardarlas en nuestro repositorio local.
  • git merge: tiene dos usos. Uno es la fusión de ramas, funcionando como un commit en la rama actual, trayendo la rama indicada. Su otro uso es guardar los cambios de un servidor remoto en nuestro directorio.
  • git pull: fetch y merge al mismo tiempo.

Comandos para corrección en GitHub #

  • git checkout “codigo de version” “nombre del archivo”: volver a la última versión de la que se ha hecho commit.
  • git reset: vuelve al pasado sin posibilidad de volver al futuro, se debe usar con especificaciones.
  • git reset --soft: vuelve a la versión en el repositorio, pero guarda los cambios en staging. Así, podemos aplicar actualizaciones a un nuevo commit.
  • git reset --hard: todo vuelve a su versión anterior
  • git reset HEAD: saca los cambios de staging, pero no los borra. Es lo opuesto a git add.
  • git rm: elimina los archivos, pero no su historial. Si queremos recuperar algo, solo hay que regresar. se utiliza así:
    git rm --cached: elimina los archivos en staging pero los mantiene en el disco duro.
    git rm --forceelimina los archivos de git y del disco duro.

Comandos para revisión y comparación en GitHub #

  • git status: estado de archivos en el repositorio.
  • git log: historia entera del archivo.
  • git log --stat: cambios específicos en el archivo a partir de un commit.
  • git show: cambios históricos y específicos hechos en un archivo.
  • git diff “codigo de version 1” “codigo de version 2”: comparar cambios entre versiones.
  • git diff: comparar directorio con staging.

Comandos básicos en la terminal #

  • pwd: Nos muestra la ruta de carpetas en la que te encuentras ahora mismo.
  • mkdir: Nos permite crear carpetas (por ejemplo, mkdir Carpeta-Importante).
  • touch: Nos permite crear archivos (por ejemplo, touch archivo.txt).
  • rm: Nos permite borrar un archivo o carpeta (por ejemplo, rm archivo.txt). Mucho cuidado con este comando, puedes borrar todo tu disco duro.
  • cat: Ver el contenido de un archivo (por ejemplo, cat nombre-archivo.txt).
  • ls: Nos permite cambiar ver los archivos de la carpeta donde estamos ahora mismo. Podemos usar uno o más argumentos para ver más información sobre estos archivos (los argumentos pueden ser -- + el nombre del argumento o - + una sola letra o shortcut por cada argumento).
    – ls -a: Mostrar todos los archivos, incluso los ocultos.
    – ls -l: Ver todos los archivos como una lista.
  • cd: Nos permite navegar entre carpetas.
    – cd /: Ir a la ruta principal:
    – cd o cd ~: Ir a la ruta de tu usuario
    – cd carpeta/subcarpeta: Navegar a una ruta dentro de la carpeta donde estamos ahora mismo.
    – cd .. (cd + dos puntos): Regresar una carpeta hacia atrás.
    – Si quieres referirte al directorio en el que te encuentras ahora mismo puedes usar cd . (cd + un punto).
  • history: Ver los últimos comandos que ejecutamos y un número especial con el que podemos repetir su ejecución.
  • ! + número: Ejecutar algún comando con el número que nos muestra el comando history (por ejemplo, !72).
  • clear: Para limpiar la terminal. También podemos usar los atajos de teclado Ctrl + L o Command + L.

Todos estos comandos tiene una función de autocompletado, o sea, puedes escribir la primera parte y presionar la tecla Tab para que la terminal nos muestre todas las posibles carpetas o comandos que podemos ejecutar. Si presionas la tecla Arriba puedes ver el último comando que ejecutamos.

Recuerda que podemos descubrir todos los argumentos de un comando con el argumento --help (por ejemplo, cat --help).

Comandos para trabajo remoto con GIT #

  • git clone url_del_servidor_remoto: Nos permite descargar los archivos de la última versión de la rama principal y todo el historial de cambios en la carpeta .git.
  • git push: Luego de hacer git add y git commit debemos ejecutar este comando para mandar los cambios al servidor remoto.
  • git fetch: Lo usamos para traer actualizaciones del servidor remoto y guardarlas en nuestro repositorio local (en caso de que hayan, por supuesto).
  • git merge: También usamos el comando git merge con servidores remotos. Lo necesitamos para combinar los últimos cambios del servidor remoto y nuestro directorio de trabajo.
  • git pull: Básicamente, git fetch y git merge al mismo tiempo.

Otros comandos para trabajar con equipos #

  • git log –oneline: muestra el id commit y el título del commit.
  • git log –decorate: muestra donde se encuentra el head point en el log.
  • git log –stat: Explica el número de líneas que se cambiaron brevemente.
  • git log -p: Explica el número de líneas que se cambiaron y te muestra que se cambió en el contenido.
  • git shortlog: Indica que commits ha realizado un usuario, mostrando el usuario y el título de sus commits.
  • git log –graph –oneline –decorate y
  • git log –pretty=format:”%cn hizo un commit %h el dia %cd”: Muestra mensajes personalizados de los commits.
  • git log -3: Limitamos el número de commits.
  • git log –after=“2023-1-1”
  • git log –after=“today” y
  • git log –after=“2023-1-2” –before=“today”: Commits para localizar por fechas.
  • git log –author=“Name Author”: Commits hechos por autor que cumplan exactamente con el nombre.
  • git log –grep=“INVIE”: Busca los commits que cumplan tal cual está escrito entre las comillas.
  • git log –grep=“INVIE” –i: Busca los commits que cumplan sin importar mayúsculas o minúsculas.
  • git log – “index.html”: Busca los commits en un archivo en específico.
  • git log -S “Por contenido”: Buscar los commits con el contenido dentro del archivo.
  • git log > log.txt: guardar los logs en un archivo txt
  • git shortlog -sn: muestra cuantos commit han hecho cada miembro del equipo.
  • git shortlog -sn --all: muestra cuantos commit han hecho cada miembro del equipo, hasta los que han sido eliminados.
  • git shortlog -sn --all --no-merge: muestra cuantos commit ha hecho cada miembro, quitando los eliminados sin los merges.
  • git blame ARCHIVO: muestra quien hizo cada cosa línea por línea.
  • git COMANDO --help: muestra como funciona el comando.
  • git blame ARCHIVO -Llinea_inicial,linea_final: muestra quien hizo cada cosa línea por línea, indicándole desde qué línea ver. Ejemplo -L35,50.
  • git branch -r: se muestran todas las ramas remotas.
  • git branch -a: se muestran todas las ramas, tanto locales como remotas.

Comandos para trabajar con etiquetas: #

  • Crear un nuevo tag y asignarlo a un commit: git tag -a nombre-del-tag id-del-commit.
  • Borrar un tag en el repositorio local: git tag -d nombre-del-tag.
  • Listar los tags de nuestro repositorio local: git tag o git show-ref --tags.
  • Publicar un tag en el repositorio remoto: git push origin --tags.
  • Borrar un tag del repositorio remoto: git tag -d nombre-del-tag y git push origin :refs/tags/nombre-del-tag.

Para generar un comando complejo con varios comandos de una forma optimizada, utilizamos conjuntos de sentencias conocidas como alias.