Lo primero la documentación que estoy siguiendo para intentar montar esto bien, y terminar de aclararme un poco.
La idea en la empesa en la que estoy trabajando es pasar a un sistema de repositorio unificado y varias ramas,como cuenta aquí: http://nvie.com/posts/a-successful-git-branching-model/
Tambiń tenemos como textos que nos ayudan:
* http://www.genbetadev.com/sistemas-de-control-de-versiones/stashing-con-git
* http://www.genbetadev.com/herramientas/manejo-de-ramas-de-desarrollo-con...
* http://www.genbetadev.com/sistemas-de-control-de-versiones/tags-con-git
Siguente siempre nvie.com como documentación central hemos creado las tres ramas, la master para explotación, y staging y devel-0.1
si usamos la herramienta gitg (Linux) para ver las ramas del arbol, vemos como se van pintando y rellenando con los commits.
Para la configuración del repositorio tenemos:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/:refs/remotes/origin/
url = gitolite@xxx.xxx.xxx:repositori.git
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "devel-0.1"]
remote = origin
merge = refs/heads/devel-0.1
[branch "staging"]
remote = origin
merge = refs/heads/stagingEl caso es que cada vez que hago un push me dice:
To gitolite@xxx.xxx.xxx:repositorio.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'gitolite@xxx.xxx.xxx:repositorio.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.No entiendo porque ocurre esto,un poco de luz se agradecería.
Oskar

Comments
Que bien Oskar que compartas
Que bien Oskar que compartas esto... yo estoy empezando con el libro que se puede bajar uno gratuitamente aquí:
http://book.git-scm.com/
Ahora eso si, fácil fácil no es!
Aguskii. Estoy compartiendo
Aguskii.
Estoy compartiendo dudas y preguntas, a ver si las resolvemos y pondemos montar una página wiki.
Oskar
Haz pull
Alguien ha realizado cambios en la rama master. Debes hacer git pull antes de enviar tus commits.
Si el comando que lanzaste fue 'git push' en vez de 'git push origin master', puede que los cambios se hayan realizado en alguna otra de las ramas.
Respecto al workflow que comentas, se consolidó en una extensión de git que incorpora mediante comandos sencillos las acciones que en el documento se explican: https://github.com/nvie/gitflow. Si lo pruebas avísame ya que tiene buenísima pinta y yo todavía no lo he puesto en práctica.
Saludos
Senior Developer at Lullabot
https://www.lullabot.com/who-we-are/juampy-nr
Gracias Juampy. Mañana nos
Gracias Juampy.
Mañana nos meteremos a saco con el tema, curiosamente hemos ejecutado los comandos sin tener gitflow instalado y nos ha dado problemas ninguno. Quizás la diferencia es el working three que al hacer el merge entre devel y staging, devel desaparecía para volver a tener que regenerarlo después.
Entiendo que el tema de la configuración del config del repositorio esta correctamente, no?
Oskar
La cosa va funcionando muy
La cosa va funcionando muy bien.
Únicamente, con la configuración que he puesto arriba cuando hacemos un push de devel me dice que ha subido a la vez devel y master, pero si hago
git push origin develno me dice nada.Cosas de git supongo.
Oskar
Correcto
Si haces git push, se hace un push de todas las ramas que tengan nuevos commits. Si el push no devuelve nada, es que no hay nada nuevo que subir, independientemente de que hayas especificado la rama en el push o no.
Senior Developer at Lullabot
https://www.lullabot.com/who-we-are/juampy-nr
Pero si haces un git push y
Pero si haces un git push y no hay nada que subir te debería decir algo así como already up to date no?
Con respecto al pull, hay que tener ojo porque hace merge automáticamente, (pull = fetch+merge) y te puede dejar los logs de las ramas echas un cristo y llenas de merge innecesarios, personalmente me gusta mucho más la estrategia de git pull --rebase, que mueve tus commits encima del resto y si tienes que hacer merge te avisa para que lo hagas manualmente, más: http://randyfay.com/node/103
Gracias Pedro, Me lo apunto,
Gracias Pedro,
Me lo apunto, y no olvido que de esto sale una página wiki para la comunidad ;)
Oskar