Configurar herramientas
Configurar la información del usuario para todos los respositorios locales
-
Establecer el nombre que estará asociado a tus commits
:
$ git config --global user.name "[name]"
- Establecer el e-mail que estará asociado a sus commits
:
$ git config --global user.email "[email address]"
Crear repositorios
Inicializar un nuevo repositorio u obtener uno de una URL existente
- Crea un nuevo repositorio local con el nombre especificado
:
$ git init [project-name]
- Descarga un proyecto y toda su historial de versiones
:
$ git clone [url]
Refactorización de archivos
Reubica y retira los archivos de los cuales se tiene una versión
- Borra el archivo del directorio activo y lo pone en el área de espera en un estado de eliminación
:
$ git rm [file]
- Retira el archivo del historial de control de versiones, pero preserva el archivo a nivel local
:
$ git rm --cached [file]
- Cambia el nombre del archivo y lo prepara para ser guardado
:
$ git mv [file-original] [file-renamed]
Suprimir el seguimiento de cambios
Excluye los archivos temporales y las rutas
Un archivo de texto llamado:
.gitignore
suprime la creación accidental de versiones para archivos y rutas que concuerdan con los patrones especificados
*.log
build/
temp-*
Enumera todos los archivos ignorados en este proyecto
:
$ git ls-files --others --ignored --exclude-standard
Guardar fragmentos
Almacena y restaura cambios incompletos
- Almacena temporalmente todos los archivos modificados de los cuales se tiene al menos una versión guardada :
$ git stash
- Restaura los archivos guardados más recientemente:
$ git stash pop
- Enumera todos los grupos de cambios que estan guardados temporalmente:
$ git stash list
- Elimina el grupo de cambios más reciente que se encuentra guardado temporalmente:
$ git stash dro
Efectuar cambios
Revisa cambios y crea un commit
- Enumera todos los archivos nuevos o modificados de los cuales se van a guardar cambios:
$ git status
- Muestra las diferencias entre archivos que no se han enviado aún al área de espera:
$ git diff
- Guarda el estado del archivo en preparación para realizar un commit:
$ git add [file]
- Muestra las diferencias del archivo entre el área de espera y la última versión del archivo:
$ git diff --staged
- Mueve el archivo del área de espera, pero preserva su contenido:
$ git reset [file]
- Registra los cambios del archivo permanentemente en el historial de versiones:
$ git commit -m"[descriptive message]"
Cambios grupales
Nombra una serie de commits y combina esfuerzos ya completados
- Enumera todas las ramas en el repositorio actual:
$ git branch
- Crea una nueva rama:
$ git branch [branch-name]
- Cambia a la rama especificada y actualiza el directorio activo:
$ git switch -c [branch-name]
- Combina el historial de la rama especificada con la rama actual:
$ git merge [branch-name]
- Borra la rama especificada:
$ git branch -d [branch-name]
Repasar historial
Navega e inspecciona la evolución de los archivos de proyecto
- Enumera el historial de versiones para la rama actual:
$ git log
- Enumera el historial de versiones para el archivo, incluidos los cambios de nombre:
$ git log --follow [file]
- Muestra las diferencias de contenido entre dos ramas:
$ git diff [first-branch]...[second-branch]
- Produce metadatos y cambios de contenido del commit especificado:
$ git show [commit]
Rehacer commits
Borra errores y elabora un historial de reemplazo
- Deshace todos los commits después de [commit], preservando los cambios localmente:
$ git reset [commit]
- Desecha todo el historial y regresa al commit especificado:
$ git reset --hard [commit]
Sincronizar cambios
Registrar un marcador para un repositorio e intercambiar historial de versiones
- Descarga todo el historial del marcador del repositorio:
$ git fetch [bookmark]
- Combina la rama del marcador con la rama local actual:
$ git merge [bookmark]/[branch]
- Sube todos los commits de la rama local a GitHub:
$ git push [alias] [branch]
- Descarga el historial del marcador e incorpora cambios:
$ git pull