Inicializar un repositorio en el directorio actual.
git init
Inicializar un repositorio especificando un direcotrio (si no existe se creará), para los reposotorios suele utilizarse el .git
en el nombre.
git init NOMBRE_REPOSITORIO.git
git init /directorio/local/repositorio.git
Inicializar repositorios para utilizar como servidor.
git init --bare NOMBRE_REPOSITORIO.git
git init --bare /directorio/local/repositorio.git
# Añadir permisos de escritura al grupo directamente al crear el repositorio
git init --bare --shared=group NOMBRE_REPOSITORIO.git
git init --bare --shared=group /directorio/local/repositorio.git
Clonar un respositorio. Puede ser un repsotorio local o remoto.
git clone REPOSITORIO
git clone /directorio/local/repositorio.git
git clone https://servidor.es/remoto/repositorio.git
git clone ssh://[email protected]:22/directorio/remoto/repositorio.git
Ver listado de commit
realizados.
git log
Estado actual del direcotrio de trabajo, mostrará los ficheros modificados desde el último commit
git status
Ver modificaciones en un fichero concreto del repositorio respecto al último commit
git diff FICHERO
git diff ruta/fichero.ext
Añadir modificaciones para el siguiente commit
git add [OPCIONES]
git add . # Añadir todos los cambios
git add -A # Añadir todos los cambios incluyendo ficheros eliminados
git add --all # Añadir todos los cambios incluyendo ficheros eliminados
git add ruta/al/fichero.ext # Añadir ficheros específicos
Guardar los cambios en el repositorio añadidos con git add
. Una buena practica es incluir un comentario descriptivo.
git commit -m"COMENTARIO_DESCRIPTIVO"
Listar ramas del repositorio (indica también en cual nos encontramos).
git branch
Crear una rama.
git branch NOMBRE_NUEVA_RAMA
Crear una rama y cambiar a la nueva rama al mismo tiempo.
git switch -c NOMBRE_RAMA
Cambiar entre ramas.
git switch NOMBRE_RAMA
Eliminar rama.
git branch -d NOMBRE_RAMA
git branch -D NOMBRE_RAMA # Forzar borrado cuando la rama no tiene merge
Unir rama actual con otra rama.
git merge NOMBRE_RAMA
Mostrar las ramas que no están unidas con la actual.
git branch --no-merge
Fetch
git fetch
git fetch --all
Pull
git pull
git pull --all
Actualizar los cambios guardados en el repositorio local en un respositorio remoto.
git push --all # Actualizar todas las ramas
git push NOMBRE_REMOTE NOMBRE_RAMA # Actualizar una rama en un repositorio remoto concreto
git push origin master
Ver los origenes remotos configurados
git remote -v
Añadir un origen remoto a un repositorio creado localmente.
git remote add NOMBRE_REMOTE REPOSITORIO_URL
git remote add origin ssh://[email protected]:22/directorio/remoto/repositorio.git
git remote add otro_oservidor ssh://[email protected]:22/directorio/remoto/repositorio.git
Modificar el origen remoto.
git remote set-url NOMBRE_REMOTE REPOSITORIO_URL
git remote set-url origin ssh://[email protected]:22/directorio/remoto/repositorio.git
git remote set-url otro_oservidor ssh://[email protected]:22/directorio/remoto/repositorio.git
Ver variables
git config user.name
git config user.email
git config --global user.name
git config --global user.email
Establecer variables
git config user.name "Your Name"
git config user.email "[email protected]"
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
Quitar una variable establecida
git config --unset user.name
git config --unset user.email
git config --global --unset user.name
git config --global --unset user.email