Skip to content

Instantly share code, notes, and snippets.

@AndreSlim
Last active March 22, 2024 16:23
Show Gist options
  • Save AndreSlim/27447566ad7035505d0303738872de52 to your computer and use it in GitHub Desktop.
Save AndreSlim/27447566ad7035505d0303738872de52 to your computer and use it in GitHub Desktop.
Apuntes básicos de Git para GitHub
/*=============================================
- - - - - - - - - - Básico - - - - - - - - - -
=============================================*/
# Iniciar Git
git init
# Eliminar un archivo
git rm <archivo>
# Renombrar archivos
git mv <NombreViejo> <NombreNuevo>
# Estado de git
git status -s (--short)
Columna Izquierda = Preparado
Columna Derecha = Sin preparar
?? = No rastreado
A = Preparado
M = Modificado
/*=============================================
- - - - - - - - - - - Log - - - - - - - - - - -
=============================================*/
# Mostrar log (Formato pretty)
#(%h) hash | (%an) autor | (%ar) fecha | (%s) asunto
# (--graph) gráfico de ramas | (--since=2.weeks) Limita fecha
git log --pretty=format:"%h - %an, %ar : %s" --graph --since=2.weeks
# Log de un archivo especifico
git log --follow <archivo>
/*=============================================
- - - - - - - - - - Commit - - - - - - - - - -
=============================================*/
# Agregar elementos al stage (Index)
git add .
# Ver cambios que aún no están preparados (En stage index)
git diff
# Realizar commit localmente (-a evitar stage index | -m para evitar entrar el editor)
git commit -a -m "Titulo Commit"
/*=============================================
- - - - - - - - - - Remoto - - - - - - - - - -
=============================================*/
# Definir una dirección origin (<origin> = nombre del enlace remoto)
git remote add origin <URL>
# Ver remotos asociados (push = datos | fetch = metadatos)
git remote -v
# Ver todos los datos remotos de <origin>
git remote show origin
# Combinar Rama remota <origin> con Rama local <master>
git pull origin master
# Realizar push (Eliminar --force de no ser nesesario)
git push origin master --force
# Clonar un repositorio (<NombreCarpeta> es opcional)
git clone <URL> <NombreCarpeta>
/*=============================================
- - - - - - - - - - Ramas - - - - - - - - - - -
=============================================*/
# Mostrar ramas
git branch
# Crear una nueva rama
git branch <Nueva rama>
# Saltar a una rama
git checkout <Nueva rama>
# Atajo, saltar a nueva rama después de crearla (-b 'branch')
git checkout -b <Nueva rama>
# Eliminar una rama
git branch -d <rama>
# Fusionar una rama con la rama actual
git merge <rama>
/*=============================================
- - - - - - - - - Utilidades - - - - - - - - -
=============================================*/
# Rehacer el último commit (Sobrescribe el anterior)
git commit --amend
# Deshacer todos los cambios realizados (Es valido . para especificar todos los archivos)
#Sin haber entrado al stage index (De haber entrado utlizar reset HEAD)
git checkout -- <archivo>
# Sacar del stage index (Es valido . para especificar todos los arhivos)
git reset HEAD <archivo>
# Crear empaquetado con los archivos de un commit (Donde HASH-ID es el hash del commit)
git archive --format=zip --output=commit_files.zip HASH-ID `git diff-tree --no-commit-id --name-only -r HASH-ID | sed ':a;N;$!ba;s/\n/ /g'`
# En caso de error por nombres de archivos o carpetas utilizar la forma alternativa que genera un .tar.gz
git diff-tree --no-commit-id --name-only -r HASH-ID | tar --files-from /dev/null -czvf commit_files.tar.gz -T -
/*=============================================
- - - - - - - - - - Miscelánea - - - - - - - -
=============================================*/
# Crear una nueva etiqueta
git tag -a <Titulo> <checksum-commit>
# Ver lista de etiquetas
git tag -l
# Hacer un commit de tags (Los push por defecto no mandan las etiquetas)
git push origin --tags
# Configuración para el usuario
git config --global user.email "AndreSlim7@gmail.com"
git config --global user.name "Andrés"
# Ver configuraciones realizadas
git config --list
# Ayuda de comandos
git help <comando>
git <comando> --help
man git-<comando>
/*=============================================
- - - - - - - - Inicio de sesión - - - - - - -
=============================================*/
# Guardar en cache el inicio de sesión (15 min. por defecto)
git config --global credential.helper cache
# Guardar en cache el inicio de sesión (tiempo dado en segundos)
git config --global credential.helper 'cache --timeout=3600'
/*=============================================
- - - - - - - - - - - Notas - - - - - - - - - -
=============================================*/
# Formato commits
Titulo (< 50 caracteres)
-espacio-
Cuerpo del mensaje (< 72 caracteres)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment