Este documento proporciona una guía sobre el flujo de trabajo básico de Git para frontends. Explica cómo añadir cambios al repositorio local mediante el comando "git add", cómo realizar commits con mensajes usando "git commit", y cómo publicar cambios en el repositorio remoto con "git push". También cubre cómo fusionar ramas, deshacer cambios, etiquetar versiones, y configurar parámetros básicos de Git.
3. añadir cambios al HEAD
Área de staging = HEAD = índice
Si no tenemos cambios desde el último
commit ni nuevos archivos, se dice que el
directorio de trabajo está vacío
$ git status
# On branch master
nothing to commit (working directory clean)
4. añadir cambios al HEAD
Los archivos nuevos siempre deberán ser
añadidos explícitamente a la lista de cambios
que se quieren commitear
git add “nombre_del_archivo_nuevo”
git commit
En cambio, si ya estaban añadidos con
anterioridad al HEAD podemos forzar la
subida con –a
git commit –a
5. añadir cambios al HEAD
Para añadir un comentario a tu commit
podemos usar la opción –m
git commit -m “Commit message”
Si hemos nos hemos equivocado al escribir
el comentario, podemos modificarlo de
forma sencilla
git commit --amend -m “Correct message“
6. subir cambios al repositorio
Tus cambios están ahora en el HEAD de tu
copia local. Para enviar estos cambios a tu
repositorio remoto ejecuta
git push origin master
7. Propagar cambios a otras ramas:
cherry-pick
Para hacer un cherry-pick nuestro índice
(HEAD) tiene que estar limpio. Nos
movemos a la rama destino y ejecutamos
git cherry-pick “id del commit”
git push origin master
Opciones:
-e (editar el mensaje del commit)
-x (añade la línea “cherry picked from
commit ...”)
8. trabajar con ramas
Crea una nueva rama llamada "feature_x" y
cámbiate a ella, vuelve a la rama master y
borra la rama recién creada
git checkout -b feature_x
git checkout master
git branch -d feature_x
Una rama nueva no estará disponible para
los demás a menos que hagas push
git push origin <branch>
9. actualizar el HEAD
Para actualizar tu repositorio local al commit
más nuevo, ejecuta
git pull
Es el equivalente a hacer
git fetch
git merge FETCH_HEAD
Opciones
--rebase[=false|true|preserve]
10. fusionar ramas
Para fusionar otra rama a tu rama activa (por
ejemplo master), utiliza
git merge <branch>
En caso de haber conflictos han de resolverse
a mano y marcarlos como fusionados,
opcionalmente se pueden revisar antes
git diff <source_branch> <target_branch>
git add <filename>
11. fusionar ramas
Opciones
--no-commit (en caso de fallo no hace el
merge)
-m <msg>
Resolver conflictos
<<<<<<< yours:sample.txt
Conflict resolution is hard; let's go shopping.
======= Git makes conflict resolution easy.
>>>>>>> theirs:sample.txt
12. fusionar ramas
Herramientas
git mergetool
git diff
git log --merge -p <path> (muestra las dif del
HEAD seguidas de las de la branch remota)
git status
Configurar editor de fusionado
$ git config --global merge.tool opendiff
13. deshacer cambios
Para eliminar un archivo de la lista de commit
git reset HEAD <file>
Para revertir definitivamente unos cambios
git checkout -- <file>
Deshacer un commit
git revert [hash del commit]
14. Almacenar cambios
stash
git stash save <message>
git list (para saber el nombre de cada stash)
git show <stash>
git stash pop <stash> (aplica los cambios y
borra el stash)
git stash appy <stash> (aplica los cambios sin
borrar el stash)
git stash clear (borra todos los stash)
git stash drop <stash> (borra uno
determinado)
15. eliminar y renombrar archivos
Para borrar un archivo, primero hay que
borrarlo de la lista de archivos del HEAD y
después del entorno de trabajo
$ git rm <nomre_archivo>
rm ‘nombre_archivo‘
Podemos utilizar el comando mv para
renombrar un archivo
$ git mv file_from file_to
16. etiquetas
Crear una etiqueta
$ git tag -a v1.4 -m 'my version 1.4‘
Listar etiquetas existentes y ver info
$ git tag
$ git show v1.4
Compartir etiquetas
$ git push origin v1.5
17. configuración
Usuario
git config --global user.name “nombre”
git config --global user.email “email”
Colores
git config --global color.status auto
git config --global color.branch green
Shortcuts
git config --global alias.st status