https://github.com/gsuscastellanosSC/CursoProfesionalGitGitHub/blob/master/README.md
<CursoProfesionalGitGitHub
Deja de versionar tus proyectos usando tu propio sistema de control de versiones. Mejor usa Git el Sistema de control de versiones por excelencia que utiliza la industria, aprende a gestionar tus proyectos alojándolos en Github. Domina Git y Github de cero a avanzado. Curso profesional de Git y GitHub en https://platzi.com/cursos/git-github/ @platzi green_heartgreen_heart
Primeros pasos
git int => Iniciar Git.
rm -rf .git => Eliminar git de un repo.
Configuración de Git
git config git config --list git config --list --show origin git config --list --show-origin git config --global git config --global user.name "SC" git config --global user.email "[email protected]" git config --global -e => Ver configuración actual.
*Git States
Working Directory Staging Area
Agragar a la zona de preparación
git checkout --Archivo.txt (Permite Ignorar cambios de un archivo).
git add Archivo.txt (Agrega archivo especifico)
git add . (Agragar todos los archivos)
Agragar a la zona de preparación
Ver estado
git status
Ver estado
Quitar de la zona de preparación*********
git rm --cached archivo.txt (Quitar de la zona de preparación).
Quitar de la zona de preparación*********
Realizar commint
git commit -m "Este es el pimer commit de este archivo" git commit -am "Este es el pimer commit de este archivo"
Realizar commint
Ver el historial de cambios del archivo
git log git log Archivo.txt
Ver el historial de cambios del archivo
***Muestra todos los cambios sobre un archivo
git show Archivo.txt
***Muestra todos los cambios sobre un archivo
Comparar versiones
git diff commint commint
Comparar versiones
Volver a una versión anterior
git reset commit --hard (borramos todos los cambios y lo que tengamos en staging)
git reset commit --soft (soft conservamos cambios y lo que tengamos en staging)
git checkout (commit) Archivo.txt
git checkout (rama) Archivo.txt
Volver a una versión anterior
Ver Cambio en bytes*****
git log --stat(Cambio en bytes)
Ver Cambio en bytes*****
Crear una rama*****
git branch (branchName)
Crear una rama*****
Cambiar de rama********
git checkout (branchName)
Cambiar de rama********
Merge entre branchs
git merge (branchName)
Estar en la rama master o en la que se quiere dejar el
Merge entre branchs
Traer un repositorio externo
git remote add origin (url) git remote (muestra el origen) git remote -v(es verval) git remote remove origin (Elminar origen remoto)
git pull origin master --allow-unrelated-histories (Fuerza la union de las diferentes historias)
git pull origin master (Descarga cambios)
git push (origin) (master) (Sube Cambios)
Traer un repositorio externo
Seguridad
ssh-keygen -t rsa -b 4096 -C "[email protected]" (crea la llave publica y privada) eval $(ssh-agent -s) (saber si el agente ssh esta ejecuntando) ssh-add ~/.ssh/id_rsa (agregar la llave privada) eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa
git remote set-url origin git@github.com:gsuscastellanosSC/hyperblog.git (cambiar url para que sea con ssh)
Seguridad
*Tags
git log --all(Muesta toda la historia)
git log --all --graph (Muestra toda la historia con la ineracción de las ramas)
git log --all --graph --decorate --oneline
alias arbolito="git log --all --graph --decorate --oneline"(forma de alias en linux)
git tag -a v0.1 -m "apendiendo tags en git" (hash del commit) (crear un tag)
git show-ref --tags
git push origin --tags (enviar los tags al repositorio remoto)
git tag -d v0.1 && $ git push origin :refs/tags/v0.1 (Borrar tags)
Actualizar tags git tag new old git tag -d old git push origin :refs/tags/old git push --tags git pull --prune --tags
ramas***
git checkout -b new-branch git show-branch --all (¿Cuales branch existen y sus historias) gitk (igual que la anterior per con gui) git branch -d nombre_rama (Elimina rama local) git push origin :nombre_branch (Elimina rama remota)
ramas***
¿como hacer un Fork?
git clone git@github.com:gsuscastellanosSC/hyperblog-1.git
git remote add upstream (url-github) git pull upstream master (trae todos los cabios de master del origen upstream)
¿como hacer un Fork?
Cambiar el nombre de una rama
git branch -m nombre-rama nombre-rama-nueva
Cambiar el nombre de una rama
Git Rebase: Reorganizando el trabajo realizado
git rebase "master" (desde otra rama)
git rebase "otra rama" (desde master)
*****************************Elminar una Rama******************************
git branch -D "otra rama"*******************************Elminar una Rama*******************************
Git Rebase: Reorganizando el trabajo realizado
Git Stash
git stash (crea un stash) git stash list (lista los stash) git stash pop (carga el stash) git stash branch english-version (Crear una rama con el stash) git stash drop (borrar un stash)
Git Stash
LIMPIAR ARCHIVOS NO DESEADOS
git clean --dry-run (ver que se va a borrar) Ejecución en seco, como probraban los cohetes y los barcos git clean -f (borrar)
LIMPIAR ARCHIVOS NO DESEADOS
LOG
git log --oneline
LOG
****¿Como traer un solo commit de otra rama? ****
git cherry-pick "commit"****¿Como traer un solo commit de otra rama? ****
Remendar
git commit --amend (coloca los cambios en el útimo commit realizado)
Remendar
Git Reset y Reflog: Úsese en caso de emergencia
git reflog (Permite ver el log completo)
git reset HEAD@{2}
git RESET --hard 9ea6558
Git Reset y Reflog: Úsese en caso de emergencia
Buscar en archivos y commits de Git con Grep y log
git grep -n color (lugares donde uso la palabra color)
git grep -c color (cuanteas veces esta la palabra color)
$ git log -S "Cabecera" (Busca en los commits la palabra cabecera)
Buscar en archivos y commits de Git con Grep y log
Alias en Git
git short log (Ver commits realizados por persona) git shortlog -sn (¿cuantas veces han realizado commits, cada persona?) git shortlog -sn --all (detalle de absolutamente todos los commits)
git config --global alias.stats "shortlog -sn --all --no-merges" (alias)
Alias en Git
Detalle de cambios
git blame blogpost.html -c (Sobre un archivo) git blame --help git blame css/estilos.css -L35,58
Detalle de cambios
Ver ramas remotas
git branch -r git branch -a
Ver ramas remotas
/Más Comandos;)/
https://rogerdudler.github.io/git-guide/index.es.html
/Más Comandos;)/>