Git

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