Last active
March 22, 2024 16:23
-
-
Save AndreSlim/27447566ad7035505d0303738872de52 to your computer and use it in GitHub Desktop.
Apuntes básicos de Git para GitHub
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*============================================= | |
- - - - - - - - - - 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