Por defecto uno esta en la rama master, y estan los cambios de los archivos
Cuando se unen cambios de una rama diferente a la principal, se hace con un merge
Se crean ramas a partir de un commit, y esta nueva rama es diferente a la actual
Cuando existen cambios en una rama que rompen con los cambios en otra se denominan conflictos
El commit mas reciente es el HEAD
Cuando uno crea una nueva rama, lo que se esta haciendo es crear una copia del ultimo commit, en otro espacio.
git commit -am "mensaje"
-> hace el add y el commit en una sola linea, este comando funciona para archivos creados anteriormente, si se creara un nuevo archivo, este comando no funcionaria
La rama se crea desde el lugar en que uno esta, con show, se puede ver donde esta el HEAD, osea el lugar en que se esta trabajando
git branch nombredelaRama
-> Se crea una rama con el nombre que se asigne, esta rama nacera del ultimo commit, y el HEAD apuntara a las dos ramas
git checkout nombredelaRama
-> Uno se mueve a la rama que se indique en el nombre
Si se hace checkout, sin hacer ningun comando antes, y ya se realizaron cambios, se pueden perder los archivos o cambios recientemente creados
git merge nombredelaRamaaAgregar -m "mensaje"
->El merge se hace hacia la rama en la que estoy, merge crea un nuevo commit con los cambios de una rama en la otra, por lo tanto debe llevar un mensaje.