Revisar remoto conectado
git remote -v
Crear repositorio. Se crea dir .git con config y description
git init
Clonar repositorio: (de este modo git recuerda ruta remoto)
git clone ruta
Estado modificaciones locales
git status
Añadir archivo al área de preparación
git add file
git add *
Quitar archivo de área de preparación
git reset HEAD file
git reset HEAD *
git reset --hard
Deshacer cambios del archivo (como estaba en el último commit)
git checkout file
git checkout *
Confirmar cambios y crear instantanea del código (en repo local)
git commit –m “mensaje del commit”
Sincronizar repo local con remoto (aplicar antes de commit o push para evitar conflictos)
git pull -all
Subir cambios a remoto (sube commits hechos en local al remoto)
git push
Ver historial cambios (commits realizados)
git log –graph –oneline –decorate –all
Ver cambios introducidos en un commit
git show
Crear branch (rama). No se trabaja en ell automáticamente.
git branch nombre_branch
Moverse a un branch. (Hacer que el HEAD apunte a la rama)
git checkout nombre_branch
Aplicar commits de nuestro branch sobre el branch con la que queremos actualizarnos. Si necesitamos desarrollos de otro branch.
git rebase rama_destino rama_final
Subir cambios de branch a master. (situarse en master)
git merge nombre_branch
Eliminar branch (cuando ya lo hemos pasado a master)
git branch –d nombre_branch
Ver diferencias entre ramas
git diff rama_origen rama_destino
Después del merge, y resolver conflictos. Para confirmar los cambios de los archivos:
git commit –a –m “mensaje_commit”
git merge –abort (situación anterior al merge)
Crear tag (local)
git tag –a nombretag –m ‘mensaje’
Ver listado tags (local)
git tag
Eliminar tag (local)
git tag –d nombretag
Actualizar tag en remoto
git push origin :refs/tags/nombretag
Guardar cambios temporales en stash (local)
git stash save –a ‘mensaje’
Ver stash creados
git stash list
Aplicar stash
git stash applu referencia
Eliminar stash
git stash drop referencia
Modificar el último commit (siempe cuando no se haya hecho push)
git commit –amend –m “mensaje”
Reveirtir commit
git revert
Eliminar cambios del área de preparación
git reset –hard HEADˆ
git reset –mixed HEADˆ (deshacer último commit que no se haya subido a remoto)
Reproducir commit a una rama distinta
git cherry-pick