2012-08-22 26 views
6

Seguí this publicación para configurar un git repo remoto.git initialize remote repo

En lugar de empezar desde cero,

  1. lo hice un poco de desarrollo en mi PC1 (el repositorio fue creado con git init)
  2. Ahora, quería mover el repositorio en un servidor (misma subred)

    ssh [email protected]
    mkdir my_project.git
    cd my_project.git
    git init --bare

  3. Entonces, localmente

    cd my_project
    git remote add origin [email protected]:my_project.git
    git push -u origin master

Ahora, en repo remoto (servidor), veo estas carpetas

ramas config Descripción CABEZA ganchos información objetos árbitros

que esperaba/querer ver la mismo contenido que mi repositorio de git local (pc1)

bin doc src

+1

Creo que no entiende lo que hace la opción '--bare'. –

+2

En su repositorio * local *, eche un vistazo a la carpeta '.git'. Ahí es donde 'git' almacena la información del repositorio, y eso es lo que el servidor está almacenando. No tiene * directorio de trabajo *, solo almacena la información del repositorio, es decir, el contenido de la carpeta '.git'. – simont

Respuesta

8

Inicializó un repositorio vacío en el lado remoto. Lo que esto significa es que almacena el historial, pero no tiene un directorio de trabajo (traducción, no se realiza el pago real del proyecto). La estructura que estás viendo es normal.

+0

gracias Chris. Entonces, si omito init en el paso 2 (en el servidor), ¿funcionaría como esperaba? ¿Es este el enfoque correcto para que el servidor repo refleje el local? – bsr

+0

No te recomiendo que lo ejecutes sin '--bare'. La razón es esta: supongamos que realiza cambios en algún cliente remoto. Luego presionas hacia tu servidor. * Esperas * que el directorio de trabajo en el servidor se actualice automáticamente. Este no es el caso. Debido a esto, las cosas pueden ser confusas. En su lugar, le recomiendo que simplemente se acostumbre a la idea de que se supone que el servidor central está vacío, y en cualquier momento que desee comprometerse, clone el proyecto en otro lugar y haga retroceder sus cambios. –

4

git init --bare significa crear un repositorio desnuda, en lugar de trabajar repositorio. Un repositorio desnudo generalmente se almacena en el servidor y se parece a su directorio .git de su repositorio de trabajo.