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