Git push para Staging Server

Intento enviar solo mi twig de etapas a un repository desnudo en mi server de transición con el siguiente command:

git push staging +staging:refs/heads/staging 

Pero me da un error fatal:

 you are on a branch yet to be born 

Si reemploop el almacenamiento intermedio con el maestro en el command anterior, funciona y despliega mis twigs / files maestros en el server intermedio, pero mi twig maestra es mi twig de producción y solo quiero implementar mis twigs / files de etapas.

¿Alguien puede ayudar?

Tenga en count que soy un diseñador y no un desarrollador, por lo que una respuesta estilo novato sería apreciada; o)

ACTUALIZADO

Pensé que sería mejor que explicara mi flujo de trabajo … en caso de que revele algunas respuestas a mi problema / situación de novato:

  • Tengo mi Origin @ Bitbucket, que contiene todo mi proyecto
  • Cloné mi repository en mi server WAMP local para el desarrollo (donde trabajo en mi twig de desarrollo)
  • Tengo tres twigs principales: master (mi branchj de producción / server en vivo), develop (mi sucursal local / server WAMP) y staging (mi twig de aceptación del cliente / server de transferencia)

No tengo ningún problema en llevar todo el proyecto a Bitbucket, pero estoy luchando por pasar los files de la twig de transición a mi server de transición.

NB: en mi server de testing git estoy usando un gancho post-recepción: GIT_WORK_TREE = / ruta / a / sitio git checkout -f

Tal vez bash hacer esto completamente mal, pero pensé que podría implementar mi código en la twig de ensayo en mi server de ensayo?

Lo que debes hacer es:

  • empujar esa twig
  • establecer una relación de seguimiento entre el local y el remoto

Eso se hace en un command con:

 git push -u staging staging 

Después de ese primer impulso inicial, y el empuje futuro se puede hacer con un simple:

 git push 

Consulte más información en " ¿Por qué debo presionar explícitamente una nueva twig? ".

Tenga en count que la "mejor práctica" (o al less una mejor) es no nombrar una reference de repos remoto ( staging ) y una twig ( staging ) con el mismo nombre, simplemente para aclarar en esos commands git push qué ' staging en staging ' qué es.

RESUELTO

Los problemas que he enfrentado se resolvieron completamente al actualizar mi gancho git post-receive:

FROM GIT_WORK_TREE = / path / to / site git checkout -f

TO GIT_WORK_TREE = / ruta / a / sitio git checkout -f puesta en escena

Quién hubiera pensado que hubiera sido algo tan simple; o)

Muchas gracias a @VonC por toda su ayuda, de alguna manera me guiaste por el path correcto.