Tengo un repositorio de Git existente en mi máquina local. Me gustaría mover ese repositorio a mi servidor web, luego git clone
en mi máquina local para verificar mi repositorio desde el servidor. Estoy planeando desarrollar en mi máquina local y llevar las actualizaciones al servidor. Puedo enviar ssh desde mi máquina local al servidor, pero no al revés. ¿Cómo debo ir sobre esto? Creo que git bundle debería usarse de alguna manera, aunque cuando intenté git clone
mi paquete en mi servidor, recibí un mensaje de "advertencia: HEAD remoto se refiere a una referencia inexistente, no se puede realizar el pago". Mi máquina local ejecuta OS X, el servidor ejecuta Linux.Git: mover el repositorio existente de la PC al servidor, clonar desde el servidor
16
A
Respuesta
29
En el servidor Linux, en un nuevo directorio hacer:
git init --shared --bare
A continuación, en el equipo local:
git remote add origin server:path/to/repo
git push --all origin
Después de eso, el servidor tendrá una copia completa del repositorio, y podrás empujar y tirar hacia y desde él. No es necesario verificar otro clon del servidor cuando ya tiene uno localmente.
2
¿Qué tal esto:
local> cd my_repo.git
local> git remote add origin [email protected]:/path/to/my_repo.git
local> git config branch.master.remote origin
local> git config branch.master.merge refs/heads/master
local> git push origin master
que enviará los datos de tu repositorio local a su servidor. Luego haga esto:
local> cd ..
local> git clone [email protected]:/path/to/my_repo.git my_repo2.git
Luego lo clonará desde el servidor. Cuando esté satisfecho, puede deshacerse del repositorio original y posiblemente renombrar el segundo.
9
En lugar de "git push origin master", use "git push --all origin" para que se mueva en todas las ramas y no solo en la rama principal.
Cuestiones relacionadas
- 1. Repositorio de Git en el servidor ftp
- 2. Mover el servidor de gitolite
- 3. ¿Está mal simplemente mover el repositorio del servidor 1.5 al servidor 1.7?
- 4. Empujando el repositorio git existente a gitolite
- 5. Mover una carpeta desde el escritorio al servidor?
- 6. Cómo copiar/clonar un entorno virtual desde el servidor web
- 7. Error al clonar git repositorio de "superficial"
- 8. Git log sin clonar el repositorio?
- 9. Problema al clonar un repositorio de git desde una instancia de EC2
- 10. Al clonar un repositorio svn en git, ¿debería clonar solo trunk o todo el repositorio?
- 11. Cómo descargar/clonar una nueva rama de mi repositorio git de servidor en un repositorio git local ya creado en mi PC con Eclipse EGit
- 12. ¿Cómo mover un repositorio de Mercurial creado en una PC local a un servidor web?
- 13. Git no puede pasar al servidor ftp
- 14. Capistrano + Git: repositorio local al servidor de producción
- 15. Git, No se puede clonar el repositorio en Windows
- 16. Cómo clonar el repositorio en un servidor/repositorio remoto con Mercurial
- 17. Añadir svn repo al repositorio git existente?
- 18. Mover un repositorio de Subversion a otro servidor
- 19. Error de copia conflictiva de Git al clonar un repositorio
- 20. Can Git clonar un repositorio desnudo en otro repositorio vacío
- 21. git push/clone al nuevo servidor
- 22. Mover un repositorio de git
- 23. Si tengo un repositorio de GIT (vacío) en mi servidor, ¿puedo moverlo a otro servidor fácilmente?
- 24. ¿Cambiar el nombre de la carpeta al clonar desde github?
- 25. Creación de repositorio central en Git desde el repositorio local existente (en Windows)
- 26. git al cambiar el repositorio
- 27. Netbeans & Mercurial - Clonar un repositorio desde un servidor con certificado autofirmado
- 28. Git, eliminando el repositorio
- 29. git push desde la máquina local al servidor funciona pero no a los archivos en el servidor
- 30. "ERROR: gitosis.serve.main: acceso de lectura del repositorio denegado" al intentar clonar un git repo
Al hacer 'git push origin master', aparece un error largo que comienza con" Total 0 (delta 0), reutilizado 0 (delta 0) remote: error: se niega a actualizar check out branch: refs/heads/maestro remoto: error: Por defecto, actualizando la rama actual en un repositorio no desnudo ". El único contenido de mis repositorios en el servidor Linux es "... git HEAD branches config description hooks info objects refs", que es lo que creó el comando 'git init --shared --bare'. Estoy usando git 1.7.1.1 en ambas computadoras. –
¡Whoop, no importa! Lo tengo para trabajar ahora. En realidad, no había creado un nuevo directorio en el servidor Linux, solo había eliminado lo que pensaba que era todo su contenido antes de ejecutar el comando 'git init ...'. Creando un nuevo directorio, 'git init ...' ing it, cambiando para usar ese origen desde mis repositorios locales, y luego presionando funcionó. –
Esto funciona bien en principio, pero necesitaba algunos pasos adicionales para hacerlo funcionar, porque mi servidor ejecuta un puerto ssh no estándar: en OS X. Comencé instalando ssh-askpass (https://github.com/ markcarver/mac-ssh-askpass), luego tuve que configurar el puerto en ~/.ssh/config (vea http://stackoverflow.com/a/5738592/217953), usando la URL de estilo SCP. – xgretsch