tag - ¿Cómo agrego un repositorio remoto de Git a un servidor Ubuntu?
git remote add (6)
He creado un repositorio de Git en mi máquina de escritorio (Windows 7) con:
git init
git add <all my files>
git commit -m "added my files"
Ahora instalé un nuevo Ubuntu Server 10.10 en una máquina en mi LAN e instalé OpenSSH. Mi directorio personal es /home/jonas
y creé un directorio ~/code/
para contener mis proyectos. Puedo iniciar sesión en el servidor Ubuntu desde Windows 7 con Putty.
Instalé Git en el servidor con sudo apt-get install git
Agregar un repositorio remoto
Ahora quiero agregar mi repositorio de Git en mi escritorio al servidor. Intenté seguir las instrucciones de Pragmatic Version Control usando Git .
Desde mi Escritorio, ejecuto estos comandos:
git remote add origin [email protected]/home/jonas/code/myproject.git
git push origin master
Pero recibí este mensaje de error:
fatal: ''[email protected]/home/jonas/code/myproject.git'' does not appear to be
a git repository
fatal: The remote end hung up unexpectedly
¿Cuál es el problema? ¿Cómo creo el repositorio remoto?
Como PerfectlyNormal sugirió, agregué un :
en la dirección. Ahora funcionó mejor, y tuve que escribir mi contraseña en el servidor, pero luego recibí un mensaje de error similar:
fatal: ''/home/jonas/code/myproject.git'' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
¿Debo inicializar un repositorio de Git en el servidor antes de poder git push
?
¿Ha configurado el repositorio en el servidor remoto? Tienes que correr
mkdir -p /home/jonas/code/myproject.git
cd /home/jonas/code/myproject.git
git init --bare
en el servidor para configurarlo. Recomiendo echar un vistazo a cómo configurar un servidor de git en el libro ProGit gratuito.
Echa un vistazo a la útil secuencia de comandos git-create.bash
de Eike Kettner . Dale tu dirección remota preferida ( [email protected]:code/myproject.git
), y se activará automáticamente SSH para crear el directorio e inicializar un repositorio vacío --bare
para ti. Todo lo que necesitas hacer es agregar el git remote
git push
y git push
.
git-create.bash
:git-create.bash
nuevo repositorio de git remoto vacío a través de ssh
Uso:
git-create.bash ''[email protected]:code/myproject.git''
git remote add origin ''[email protected]:code/myproject.git''
git push -u origin master
Lo primero que noto es que te estás perdiendo un '':''. Debería ser git remote add origin [email protected]:/home/jonas/code/myproject.git
Normalmente creo un repositorio vacío localmente y luego selecciono ese repositorio en el servidor cuando estoy configurando un repositorio remoto.
Por ejemplo,
cd c:/gits
git clone --bare c:/path/to/local/repository/some_project
que crea some_project.git.
Entonces,
scp -r some_project.git [email protected]:/path/to/remote/gits/.
ingrese su contraseña o tal vez ya tenga acceso a la clave pública / privada.
necesitas un colon:
git remote add origin [email protected]/home/jonas/code/myproject.git
debiera ser:
git remote add origin [email protected]:/home/jonas/code/myproject.git
git remote add origin [email protected]/home/jonas/code/myproject.git
Al usar SSH, las direcciones de repositorio remoto se pueden expresar de dos maneras. Una usando rutas absolutas y otra usando rutas relativas desde el directorio de inicio de los usuarios. Usted los ha confundido.
El comando corregido sería uno de los siguientes.
git remote add origin [email protected]:code/myproject.git
git remote add origin ssh://[email protected]/home/jonas/code/myproject.git