git: notas apresuradas

Primeras notas sobre el controlador de versiones git (borrador).

franz marc

archivado en: Internet / 9 octubre, 2013

(Entrada en estado borrador)

En el trabajo hemos cambiado el sistema de control de versiones, que hasta ahora había sido el subversion (SVN), y nos hemos pasado a git, que al parecer es más ágil y versátil.

No voy a escribir una guía, ni siquiera un tutorial en condiciones, ya que hay información de sobra en la red, como el propio manual, que está traducido al español. Pero sí me interesa recopilar en el blog a modo de notas personales una selección de los comandos más empleados y algunas observaciones sobre el tema. No creo que le vaya a resultar de utilidad a nadie más que a mí, al menos de momento. Más adelante quizás encuentre tiempo para escribir algo en condiciones.

El proceso para trabajar en equipo contra repositorios remotos varía según se siga un protocolo u otro, pero en líneas generales sería este:

En la rama master tenemos la última copia estable y en otra, que podemos llamar develop, la que que estamos desarrollando (tantas ramas como equipos de trabajo). Luego...

  1. Hacemos un pull de develop para traernos la última copia.
  2. Creamos una rama de trabajo (branch) y nos cambiamos (checkout)
  3. Cuando terminamos, commiteamos los cambios (add y commit)
  4. Volvemos a la principal, volvemos a hacer un push y, finalmente, un pull.

Clonar un repositorio

Te sitúas en la carpeta donde quieras bajarlo y lo clonas con el comando clone.

git clone <ruta del archivo>

por ejemplo, así clonaríamos un repositorio que he llamado pruebas git (desde la carpeta local donde queramos clonarlo, que para esta entrada he llamado pruebas-git ¡oh, sí, lo sé, soy tan original!).

git clone https://github.com/mmfilesi/pruebas-git.git

Commit

Ahora añadimos un archivo (por ejemplo, archivo.txt). Si hacemos un git status, vemos que está untrackeado...

marcos@CACHARRO ~/documents/pruebas-git/pruebas-git (master)

$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# archivo.txt
nothing added to commit but untracked files present (use "git add" to track)

Lo añadimos al stage con git add.

git add archivo.txt

Y ahora ya podemos commitear con commit -m "<nota descriptiva>"

git commit -m "add archivo.txt"

Nota: Si no añadimos nuevos archivos, para los próximos commits podemos atajar con el comando -a

git commit -a -m  "add archivo.txt"

Y ya si queremos podemos enviar los cambios de la rama maestra (master) al servidor remoto (origen), tema sobre el que volveré más adelante, con el comando push.

git push origin master

Te pide el user, la contra y chispún...

Ramas

Para crear una rama

git branch <nombre rama>

Saltar entre ramas

git checkout <nombre rama>

Con -b realizamos las dos operaciones al mismo tiempo (la creamos y saltamos)

git checkout -b  <nombre rama>

Importante: si estás trabajando en una rama y quieres pasar a otra, para prevenir conflictos antes hay que commitear lo que se haya cambiado, es decir, hacemos un status para ver que tenemos pendiente y commiteamos.

git commit -a -m "lo que estaba haciendo antes de que entrara otra cosa más urgente"

Cuando el trabajo sobre esa rama ha concluido, ya podemos unirla, mergearla, a la rama que estemos usando para desarrollo, que no debería ser la master, donde solo pondremos cosas estabilisérrimas.

git merge <rama maestra>

Y ya podemos borrar la rama de trabajo con el comando -b

git branch -d <nombre rama>

|| Tags:

Este artículo aún no ha sido valorado.

¿Te ha parecido útil o interesante esta entrada?
dormido, valoración 1 nadapensativo, valoración 2 un poco sonrisa, valoración 3 a medias guiño, valoración 4 bastante aplauso, valoración 5 mucho

Tú opinión es muy importante, gracias por compartirla!

Los comentarios están cerrados.