Para simplificar y combinar la información en las respuestas:
Hay tres diferencias que hacen que un repositorio simple sea diferente de una carpeta .git normal:
- core.bare se establece en verdadero en el archivo de configuración
- el archivo de índice y el árbol de trabajo no existen
- no se genera una especificación de referencia predeterminada para el control remoto "origen"
Entonces, simplemente puede mover su repositorio básico para que sea la subcarpeta .git de una nueva carpeta,
mkdir clone
mv bare.git clone/.git
Cambiar core.bare:
cd clone
git config --local --bool core.bare false
Agregue una especificación de referencia de origen predeterminada para realizar git fetch
y git push
elegir los mismos valores predeterminados que de costumbre:
git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
Y genere el archivo de índice y el árbol de trabajo:
git checkout master
Recomiendo en git checkout
lugar de git reset
generar los archivos, en caso de que se ingrese accidentalmente en el lugar equivocado.
.git
directorio y establece elbare
parámetro en la configuración en falso, debería comportarse como un repositorio normal donde puedegit checkout
obtener sus archivos.