Cómo compartir una rama de función git (o tema) con múltiples desarrolladores

Estoy siguiendo el flujo de trabajo descritoaqu, ya que encontré muchas referencias que apuntan a esta página como un buen flujo de trabajo. Como se menciona en el artículo, las ramas de "características" se comparten entre los desarrolladores, pero no van al repositorio central.

Digamos que un desarrollador "A" inicia una nueva rama de características congit checkout -b newfeature develop. Ahora digamos que el desarrollador "B" también necesita trabajar en esta función. Este es mi problema

Lo que hice

developer "B" agrega la máquina del desarrollador A como una @ remodeveloper "B" ejecutagit branch remoteA/newfeaturedeveloper "B" trabaja en esta rama, compromete su trabajo y devuelve los cambios al control remotoA.

Step 3 no funciona, en este momento. Recibo un mensaje:

remote: error: de forma predeterminada, se niega la actualización de la rama actual en un repositorio no desnudo, porque hará que el índice y el árbol de trabajo sean inconsistentes con lo que presionó, y requerirá 'git reset --hard' para que coincida con el trabajo árbol a la CABEZA.

remote: error: puede establecer la variable de configuración 'recibir.denyCurrentBranch' en 'ignorar' o 'advertir' en el repositorio remoto para permitir el ingreso a su rama actual; sin embargo, esto no se recomienda a menos que haya acordado actualizar su árbol de trabajo para que coincida con lo que presionó de alguna otra manera.

remote: error: para silenciar este mensaje y seguir manteniendo el comportamiento predeterminado, establezca la variable de configuración "recibir.denyCurrentBranch" en "rechazar".

Ya he configuradosharedRepository = true, pero no ayudó.

Tengo 2 preguntas:

¿Cuál es la forma correcta de compartir ramas de características entre desarrolladores?¿Cómo puedo hacer retroceder los cambios en el repositorio del desarrollador B al original del desarrollador A?

Respuestas a la pregunta(4)

Su respuesta a la pregunta