No puedo hacer que mi github ramifique "tree de trabajo de error fatal"

Para este proyecto estoy alejado de ambas instancias (desde casa) y usando PuTTY con SSH

$school = Escuela

$aws = Servicio web de Amazon (instancia que ejecuta Puppet)

$school git creado usando git init --bare githubdir

 branches config description HEAD hooks info objects refs 

$aws git creado usando

 Mkdir githubdir && cd githubdir git init git remote add origin studentID@$school:githubdir 
  • Necesito pasar de $school a $aws que ejecuta Puppet para ejecutar el código desde $school

  • Necesito enviar trabajo de $school

He avanzado con éxito de $school a $aws pero quería configurar las sucursales para el control de versiones, sin embargo, recibo un error fatal en $school :

 [studentID@$school githubdir]$ git status fatal: This operation must be run in a work tree [studentID@$school githubdir]$ git branch * master v1 [studentID@$school githubdir]$ git checkout master fatal: This operation must be run in a work tree [studentID@$school githubdir]$ [studentID@$school githubdir]$ git log commit 3abd0c361ee********* Author: Ben*** <studentID@$school> Date: Date first commit to the repo test 

Puedo bifurcar / pagar, etc. bien en $aws :

 [awsUser@$aws githubdir]$ git status # On branch master nothing to commit, working directory clean [awsUser@$aws githubdir]$ git branch * master [awsUser@$aws githubdir]$ git checkout master Already on 'master' [awsUser@$aws githubdir]$ git log commit 3abd0c361ee********* Author: Ben*** <studentID@$school> Date: Date first commit to the repo test [awsUser@$aws githubdir]$ ls firstFile [awsUser@$aws githubdir]$ 

¿Tengo mi entendimiento incorrecto de flujo? Me dieron instrucciones para configurar de esta manera, pero parece que me han dicho que escriba $aws y empuje a $school ?

Nota: No me está dando una solución para ninguna tarea de asignación o de tipo calificado, esto es puramente un problema que estoy teniendo con el entorno y posiblemente con el flujo de ejecución.

¡Gracias!

enter image description here

Aquí hay un model simple. $school es solo para almacenamiento. $aws es solo para producción, aunque es posible realizar cambios y compromisos aquí. $local es para desarrollo. Cada queueborador puede tener uno o más repositorys locales.

Un tree de trabajo es un campo donde se guardan y colocan los files. Para la producción y el desarrollo necesita un tree de trabajo, por lo que estos repoistories se crean como repositorys no desnudos. Para el almacenamiento, el tree de trabajo no es necesario y un repository simple es suficiente. Algunos commands necesitan un tree de trabajo, como git checkout , y otros no, como git log .

pero parece que me han dicho que escriba $ aws y empuje a $ school?

Sí: se supone que debe presionar a un repository desnudo (es decir, un repository sin un tree de trabajo, sin los files reales)

Es por eso que ves errores como

 [studentID@$school githubdir]$ git status fatal: This operation must be run in a work tree