This repo is for students to practise committing, creating branches and merging them, and working in pairs with Git to get ready for the project
- Miembro 1 del equipo debe forkear y clonar el repositorio. En Github, debe dar permisos al otro miembro para editar el repositorio (Repo > Settings > Collaborators and teams)
- El otro miembro (Miembro 2), clona el repo desde la cuenta de Github del compañero (no hacer dos forks).
- Miembro 1 crea una rama dev:
git checkout -b dev - Miembro 1 hace una función cualquiera en el archivo index.js, los comitea en la rama dev y después sube los cambios la rama dev en remoto (Github):
git push origin dev
- Miembro 2, para traerse lo que hay en remoto, hace
git pull - Miembro 2 se va a la rama dev:
git checkout dev - DESDE DEV, crea una nueva rama:
git checkout -b navbar - Crea una navbar en el archivo index.html
- De mientras, Miembro 1 del equipo se queda en dev y genera a la vez una navbar en el archivo index.html. Cuando la acaba, comitea los cambios y los sube a la rama dev en remoto
- Miembro 2, cuando acaba de hacer su navbar en la rama navbar, comitea los cambios en su rama
- Miembro 2 se va a dev (
git checkout dev), trae los cambios que ha hecho el otro compañero en remoto (git pull origin dev) y entonces procede a mergear su rama:git merge navbar - Como se han tocado las mismas líneas de código, debería haber conflicto. Solucionadlo y después comitear los cambios y subirlo a la rama dev.
| Command | Description |
|---|---|
git checkout -b branch-name |
Create new branch AND move to it |
git checkout branch-name |
Move to other branch |
git pull |
Brings all changes in branches from remote to local |
git pull origin branch-name |
Bring changes from specific remote branch |
git stash |
Set aside changes without commiting them to change branches for a while |
git stash pop |
Bring back the changes you stashed |
git stash drop |
Dismiss the changes you stashed |
git add . |
Add the files you want to commit or use "." if it is all of them |
git commit -m "Commit name" |
Commit changes |
git merge branch-name |
From the receiving branch, merge another branch |
git push origin branch-name |
Update branch also on remote repository |
git log --pretty=oneline |
See repository commits |
⭐️ To add a tree command to see the tree version of the git log, run in any terminal:
git config --global alias.tree "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short"After this, you can run, on any project with git:
git treeTo quit the command line and get out of the log, run:
:qTo practise and improve your Git skills, follow this tutorial.
A) Cuando voy a empezar una nueva tarea
- Cuando voy a iniciar una nueva tarea, me voy a la rama dev (
git checkout dev) y hago ungit pull origin devpara sincronizar mi rama local de dev con lo que haya podido subir mi compañer@ a github - Creo una rama con
git checkout -b branch-namecon el nombre del feature que voy a hacer, y muevo la targeta en el kanban como "In progress". Una rama también puede ser un bug
git checkout dev
git pull origin dev
git checkout -b feature-nameB) Cuando acabo la tarea
Cuando acabo la tarea de esa rama, la guardo y después me llevo los cambios a dev:
git status
git add .
git commit -m "Closed #number nombre tarea"
git push origin branch-name # si quiero subir la rama a github para tener la copia ahí, este paso es opcional
git checkout dev # me voy a la rama compartida
git pull origin dev # vuelvo a comprobar si mi compañer@ ha hecho cambios mientras yo trabajaba
git merge branch-name # me traigo los cambios que he hecho yo a la rama dev y si hay conflictos los arreglo
git commit -m "merges branch-name into dev" # guardo los cambios
git push origin dev # subo los cambios a github para que se los pueda descargar mi compañer@