Hoy vengo a contaros algo que puede que muchos de vosotros sepáis: como usar Git para mantener un control de versiones en un proyecto donde estas tu solo o trabajas con varios compañeros.
Lo primero antes de empezar a hacer cambios en el proyecto es crearse una rama donde trabajar y alejarnos de la rama principal (la rama master).

  1. Crear rama.
    git checkout -b "rama_nueva "
  2. Modifica todo lo que quieras en tu proyecto, sin miedo.
  3. Estado de Git, sirve para saber que ficheros han cambiado en tu proyecto.
    git status
  4. Vamos a añadir todos los cambios para poderlos guardar luego.
    git add .
  5. Ahora es el momento de guardar los cambios (estos cambios se guardaran en tu pc local).
    git commit -m "Últimos cambios de mi proyecto"
  6. Ahora subiremos los cambios al servidor Git que hayas configurado (Bitbucket, GitHub, ...).
    git push origin rama_nueva
  7. Nos vamos a la rama master de nuestro proyecto.
    git checkout master
  8. Nos bajamos lo que hay en esa rama master.
    git pull origin master
  9. Ahora que estamos en la rama master, vamos a unir en la rama master las ramas master con la rama rama_nueva.
    git master rama_nueva
    1. Si todo salio bien y no hay conflictos bastara con subir los cambios al servidor
      git push origin master
      1. No olvides que ya esta todo actualizado, continuas en la rama master y eso es mala idea. Crea otra rama para nuevos cambios o vete a una que tengas. Si por ejemplo quieres volver a la rama "rama_nueva", escribe: git checkout rama_nueva
    2. Si hay conflictos, tenemos que resolverlos. Nos indicará que hay conflictos y nos iremos al proyecto a buscar la cadena de texto <<<< (lo mejor es buscar la cadena por todo el proyecto y dejarnos de problemas) y solventaremos los problemas escribiendo el código que sea correcto para tu proyecto y quitando esos <<<< .
      1. Ahora añadiremos todos los cambios para guardarlos luego.
        git add .
      2. Guardamos los cambios en local.
        git commit -m "Arreglo de unión entre ramas master con rama_nueva"
      3. Subimos cambios al servidor.
        git push origin master

Y con esto, podremos trabajar con ramas, solos o en grupo. Si estas en grupo, simplemente recuerda guardar tus cambios en un "commit", trabajar tu solo en tu rama y luego ir haciendo uniones entre ramas hasta llegar a la rama master. Por ejemplo cada programador puede tener su rama y luego ir uniéndolas hacia la rama master, primero un programador y luego el siguiente hasta que el último lo haga con la master.

Ah! como apunte extra existe el corta y pega de cambios entre ramas (muy útil para eliminar los últimos cambios que hiciste en local y no subiste a servidor, ni los guardaste en local, por ejemplo porque andabas de pruebas de código):

  1. Corta en tu rama (esto deshará todo lo que hiciste y lo guardara como en un portapapeles al estilo copia/pega): git stash
    1. Si quieres con esto seria suficiente para eliminar tus últimos cambios
  2. Cambia de rama a otra que tengas y quieras guardar esos cambios: git checkout otra_rama
  3. Pega en la otra rama los cambios: git stash apply

Si lo que te ocurre es que lo que quieres es deshacer los últimos cambios que has creado en un commit (cambios guardados en tu pc local), teclea: git checkout .
 

Con todo esto Git ya no será más un problema para ti.

Saludos y disfruta codificando con la tranquilidad de un control de versiones trabajando para ti

 

Volver