Skip to content
ffullenk edited this page Aug 11, 2011 · 1 revision

Usando git

Primeros pasos

  • Crear un account en github y realizar fork del proyecto drim/trocar, que es el repo de producción.
  • Luego, en su computador realizar:
    git clone git@github.com:ACCOUNT/trocar.git
    dentro de una carpeta para el proyecto.
  • Esto último les creará su branch local, llamado master, y un link a su repositorio remoto origin
  • Luego deben hacer:
    git pull origin master
    Esto traerá la información de su repositorio remoto a su branch local.
  • Por último deben escribir
    git remote add upstream git@github.com:drim/trocar.git
    git pull upstream master
    Esto creara un branch al repositorio remoto de producción, con el nombre upstream.

*Para Winwdows: http://help.github.com/win-set-up-git/

Trabajo Diario

  • Programar la historia o task que le corresponda ( test unitarios primero y despues funcionalidad ), y pasar los test.
  • Revisar el status de sus cambios respecto a su branch local:
    git status
  • Añadir todos los archivos modificados o creados a su stag (es el area que esta entre su codigo actual y su repo local)
    git add [file|dir/]
  • Realizar commit de los cambios, esto los añade a su repo local.
    git commit -m 'comentario de lo que lleva el commit'
  • Realizar pull de los cambios que hay en el repo de producción, para mantener todo al día.
    git pull upstream master
    Aqui, en realidad es git pull <remote_repo> <local_branch> pero en general será como arriba.
  • Correr todos los test para asegurarse que no halla fallado nada.
  • Agregar los cambios hechos al repo de producción.
    git push upstream master

Pull hard

  • Si se quiere hacer un pull del remoto, sin mantener ninguno de los cambios hechos en el local, eliminandolos todos, sin hacer ningun merge, se debe:
  • git reset --hard HEAD Elimina los cambios en stag.
  • git clean -d -f Elimina los archivos no trackeados.
  • git pull upstream master

Sobre los repos

  • En general los branch tienen los siguientes usos:
  • El branch remoto origen ( el que apunta a su repo remoto) puede ser usado para coordinar trabajo con su compañero de programación, en este repo no es necesario que todo el código pase todos los test, eso será preocupación de cada uno. Sin embargo se debe cuidar que el branch este sincronizado con el de producción, para evitar que se produzcan errores de versiones. Usar solo en casos necesarios, en general se debería evitar que el código de alguno de los que trabaje no pase todos los test.
  • El branch remoto upstream será el branch de producción, en este no se puede subir nada que no pase todos los test unitarios y funcionales, sin embargo se debería estar actualizando constantemente y revisando que pasen todos los test.
  • En su entorno local, pueden crear cuantos branches crean necesarios para experimentar o como lo deseen, sin embargo preocuparse de mantenerlo siempre actualizado con el repo de producción.

Extras

  • En el archivo .gitignore en la raiz de su repo pueden añadir excepciones de archivos que no quieren que se commiteen nunca (los .swp de vim por ejemplo).
  • Si quieren eliminar un archivo hacer git rm -- archivo, esto lo eliminará y commiteara el cambio de inmediato.
  • Para sacar los archivos del stag, que han añadido mal y no quieren commitear, hacer git reset HEAD -- file
  • Luego de hacer un pull grande, si tienen problema con los permisos de los log hacer chmod -R 777 log

Clone this wiki locally