Accediendo a los files fuente de git BARE: master

Estoy seguro de que me falta algo fundamental aquí, pero he recibido una gota de una aplicación almacenada en un repository git. Tiene carpetas como: twigs, ganchos, objects, etc., pero no hay files fuente reales.

Cuando abro git bash y cd en esa carpeta, el título dice "(BARE: master)".

Supongo que solo necesito clonar un repository local de esa carpeta. En última instancia, solo necesito acceso a los files fuente reales en el repository, pero seguramente me falta algún concepto, ya que soy algo nuevo en git.

Cualquier sugerencia o ayuda sobre cómo puedo configurar esta configuration local sería apreciada.

editar: cuando trato de clonar desde ese directory, recibo el siguiente error

$ git clone c:/Users/Joel/Dropbox/TheProjectDirectory.git Cloning into LocalProjectFolder ... fatal: 'c:/Users/Joel/Dropbox/TheProjectDirectory.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly 

Es un repository simple lo que tienes.

La forma más sencilla de get fonts es clonarlo a través de git clone /path/to/your/bare/rep

Los repositorys desnudos son algo así como un repository compartido, donde se juntan trabajos de varios desarrolladores. Para la caja de desarrollador, lo más probable es que no quieras una.

Hay un capítulo sobre repositorys de clonación.

EDITAR: Entonces, tengo un repository git en mi caja. Así que trataré de emular tu situación. Primero voy a clonar mi repository como uno simple:

 [email protected] /d/test $ git clone --bare /d/work/gittesting/ bare.git Cloning into bare repository bare.git... done. [email protected] /d/test $ cd bare.git/ [email protected] /d/test/bare.git (BARE:master) 

Así que aquí tengo el repository de bare.git como si tuvieras tu carpeta compartida. Ahora lo clonaré para tener algún directory de trabajo con fonts reales:

 [email protected] /d/test/bare.git (BARE:master) $ cd .. [email protected] /d/test $ git clone bare.git/ my-non-bare-dev-rep Cloning into my-non-bare-dev-rep... done. [email protected] /d/test $ cd my-non-bare-dev-rep/ [email protected] /d/test/my-non-bare-dev-rep (master) 

Ahora tengo la carpeta my-non-bare-dev-rep y todos los files del repository están ahí. Eres tu copy de trabajo. String (master) es la sugerencia para ti de que ahora estás en la twig master .

Luego emularé algo de trabajo en mi copy de trabajo.

 [email protected] /d/test/my-non-bare-dev-rep (master) $ echo 'my new text' > text-file.txt 

Quiero ver los cambios que tengo en la copy de trabajo comparando con la versión que obtuve de la repetición compartida:

 [email protected] /d/test/my-non-bare-dev-rep (master) $ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # text-file.txt nothing added to commit but untracked files present (use "git add" to track) 

Ahora agregaré este file de text al llamado área escénica (o a veces se llama índice ). Es el término para describir un set de cambios que se cometerán cuando se ejecute el command de git commit .

 [email protected] /d/test/my-non-bare-dev-rep (master) $ git add text-file.txt 

Bueno, ahora text-file.txt se encuentra en el área del escenario. Pero todavía no está comprometido. Es hora de hacer esto:

 [email protected] /d/test/my-non-bare-dev-rep (master) $ git commit -m 'my commit from dev repo' [master c0b0bd8] my commit from dev repo 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 text-file.txt 

Asi que. Ahora está almacenado en mi repository local. En la carpeta .git realidad. Pero todavía no se fue a repos compartido para que mis colegas también lo vean. Para esto necesito hacer un push :

 [email protected] /d/test/my-non-bare-dev-rep (master) $ git push origin Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 290 bytes, done. Total 3 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To d:/test/bare.git/ d01886b..c0b0bd8 master -> master 

origin es un nombre estándar que da Git a los padres cuando hiciste un clon. Entonces, al clonar de bare.git, mis cambios simplemente llegaron allí. Y finalmente, para get actualizaciones de la carpeta compartida en su repository local, debe ejecutar el command de pull :

 [email protected] /d/test/my-non-bare-dev-rep (master) $ git pull Already up-to-date. 

No tengo ningún cambio empujado a bare.git desde otros lugares, por lo que mi representante local está actualizado. Y git me lo dijo.

Utilizar

 git clone /c/some/dir.git 

En git bash. C: las routes tipo no se manejan bien.