Enviar tu repositorio local de Git a un servidor DreamHost — Windows

Generalidades

Este artículo asume que ya has creado tu sitio web (o aplicación) en el computador de tu hogar. Luego te guía a través de cómo colocarlo bajo el control de versión de git y usar tu servidor DreamHost como el repositorio 'remoto' (externo) para enviarlo.

De esta forma, podrás desarrollar tu sitio web completamente (o aplicación) en el computador de tu hogar mientras usa tu servidor de DreamHost como un lugar adicional para guardar tu código.

 

Paso 1 — Crear una llave de emparejamiento de SSH

Este paso explica como crear una llave de emparejamiento de SSH en tu computador Windows. Debes crear llaves de SSH para interactuar con tu servidor de DreamHost.

  1. Descarga e instala Git para Windows:

    Selecciona todas las opciones predeterminadas durante la intalación. Por ejemplo, deberás dejar el botón de radio seleccionado para Use Git from Git Bash only y todas las opciones de OpenSSL.

  2. Del menú de inicio, localiza el programa que acabas de instalar. Busca Git Gui
  3. Da clic en el menú Help y selecciona Show SSH Key
  4. Del menú desplegable, da clic en Generate Key en la parte superior derecha.
    Se te pide ingresar una frase de acceso.
  5. Deja el campo de ingreso vacío y da clic en OK dos veces.
    Se muestra tu llave pública.
  6. Da clic en Copy To Clipboard
  7. Abre el menú de inicio y abre el programa Block de notas. Una vez abierto, pega la llave pública.
  8. Guarda el archivo y nómbralo algo así como dreamhost-git-key.pub. Asegúrate de guardarlo en la carpeta Documentos.

Paso 2 — Cargar la llave pública en tu servidor DreamHost

  1. Navega a la carpeta Documentos.
  2. Da clic derecho y selecciona Git Bash Here. Esto abre una terminal. Desde que abriste Git Bash dentro de la carpeta Documentos, el intento del terminal debería verse así:
    user@computer MINGw64 ~/Documents
    $
  3. En el terminal, corre el siguiente comando para asegurarte de que dreamhost-git-key.pub que guardaste arriba está en este directorio Documentos.
    [server]$ ls -la | grep dreamhost
    dreamhost-git-key.pub

    El terminal genera el nombre del archivo de clave pública que guardaste.

    Para correr los siguientes comandos, necesitas el nombre de su servidor de DreamHost y el usuario/contraseña asignado a tu sitio web. Revisa los siguientes artículos para ubicar esta información:

    Adicionalmente, el nombre de usuario del sitio web de DreamHost con el que estás corriendo el comando debe configurarse como un usuario Shell. Revisa el siguiente artículo sobre instrucciones sobre cómo configurar esto:

  4. Corre el siguiente comando para subir tu llave pública a tu servidor de DreamHost (asegúrate de usar tu sitio web y nombre de servidor):
    [local ~]$ cat ~/Documents/dreamhost-git-key.pub | ssh user@server.dreamhost.com "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
    

    Puede que recibas el siguiente error cuando corras este comando:

    mkdir: cannot create directory `/home/username/.ssh': File exists

    Esto simplemente significa que el directorio /.ssh ya existe en el servidor web. Si ves esto, elimina la parte del comando que crea el directorio y vuelve a correrlo. Por ejemplo:

    [local ~]$ cat ~/Documents/dreamhost-git-key.pub | ssh user@server.dreamhost.com "cat >> ~/.ssh/authorized_keys"
    
  5. Inicia sesión en tu servidor de DreamHost vía SSH:
    [local ~]$ ssh user@server.dreamhost.com
    
  6. Confirma que tu llave ha sido agregada al servidor de DreamHost corriendo lo siguiente (esto debería generar tu clave):
    [local ~]$ cat ~/.ssh/authorized_keys

Paso 3 — Crear un repositorio simple en tu servidor DreamHost

Este paso crea un repositorio básico en tu servidor DreamHost. Este será el repositorio remoto al que ingresas desde tu computador local.

  1. Crea un nuevo directorio para tu repositorio remoto nuevo en tu servidor de DreamHost. Si este código está destinado a actualizar tu sitio web existente, debes nombrarlo igual que tu sitio web que termina en .git. or ejemplo, algo como example.com.git.

    Desde que este es un repositorio remoto y no un repositorio de trabajo, el nombre del directorio que crees debe terminar con .git. Puedes luego ver este repositorio en el futuro para trabajar en él.

    [server]$ cd ~
    [server]$ mkdir example.com.git
    [server]$ cd ~/example.com.git
    [server]$ git init --bare
    [server]$ git symbolic-ref HEAD refs/heads/main
    
  2. Corre ls -la para confirmar que los archivos y directorios han sido creados.
    [server]$ ls -la
    HEAD
    /branches
    config
    description
    /hooks
    /info
    /objects
    /refs
  3. Confirma que el archivo HEAD está configurado para usar main corriendo el siguiente comando.
    [server]$ cat HEAD
    ref: refs/heads/main
    Deberías ver a main usádose.

Paso 4 — Configurar git en tu computador

  1. Navega al directorio de tu proyecto.
  2. Da clic derecho y selecciona Git Bash Here.
    Esto abre un terminal que ya está corriendo Git.
  3. Corre lo siguiente para crear tu usuario y correo que será usando con Git.
    [local ~]$ git config --global user.name "John Doe"
    [local ~]$ git config --global user.email johndoe@example.com
  4. Corre git --version en tu computador local.
    [local ~]$ git --version
    Si la versión local de tu git es al menos 2.28, corre el siguiente comando init.defaultBranch para asegurarte de qur todos los repositorios recién creados usan el nombre main como la rama principal.
    [local ~]$ git config --global init.defaultBranch main

    Si por alguna razón no puedes actualizar tu versión de git al menos a 2.28, aún puedes cambiar manualmente el nombre de la rama principal a main luego de que hatas hecho el primer commit de abajoa. Revisa el siguiente artículo para más detalles:

    El comando de arriba crear un archivo .gitconfig bajo tu usuario. Puedes verlo en: C:\Users\user\.gitconfig

Paso 5 — Crear tu repositorio git local

Este paso crean un repositorio git para tu sitio web en el computador de tu hogar. Luego usarás esto para enviar su contenido a tu servidor DreamHost.

Corre lo siguientes comandos en el directorio de tu proyecto para iniciar el repositorio y crear tu primer commit:

[local ~]$ git init
[local ~]$ git add .
[local ~]$ git commit -m "First Commit"

Cuando inicias el repositorio, se crea un directorio titulado .git.

Por defecto, no puedes ver esto en Windows. Si deseas ver los archivos ocultos (archivos que comienzan con un punto), haz clic en Ver en el menú superior. En el menú que se muestra, da clic en Mostrar y luego haz clic en la opción Elementos ocultos.

No necesitas ver esta carpeta .git para proceder con estos pasos. Esta es solo una forma para ver tus comandos que han creado el repositorio local.

Paso 6 — Enviar tu repositorio local al repositorio remoto

Este paso lanza tu repositorio local a tu servidor de DreamHost.

  1. Agrega el repositorio básico que creaste en tu servidor DreamHost como un 'remoto' dentro del repositorio git de tu computador local. Asegúrate de cambiar user y servera tu usuario de DreamHost y nombre de servidor.

    La palabra dreamhost es solo un alias. Se puede llamar como quieras. Pero este nombre de alias se usará cuando envíes tu contenido a tu servidor de DreamHost.

    [local ~]$ git remote add dreamhost ssh://user@server.dreamhost.com/~/example.com.git
  2. Verifica que el nuevo remoto existe.
    [local ~]$ git remote show
    dreamhost
    
  3. Lanza el repositorio local a tu servidor de DreamHost.
    [local ~]$ git push -u dreamhost main
    

Paso 7 — Confirmar que tu repositorio fue lanzado correctamente a tu servidor DreamHost

  1. Inicia sesión en tu servidor DreamHost vía SSH.
  2. Navega al directorio /example.com.git.
    Cuando corres git status en el directorio /example.com.git, recibirás el siguiente error porque este directorio no es un 'árbol de trabajo':
    [server]$ git status
    fatal: This operation must be run in a work tree
  3. Clona el repositorio a una nueva ubicación corriendo el siguiente comando. Esto te permite ver sus contenidos:
    [server]$ mkdir ~/cloned-example.com.git
    [server]$ cd ~/cloned-example.com.git
    [server]$ git clone ~/example.com.git ~/cloned-example.com.git
    [server]$ ls -la
    Este directorio contiene todos los archivos que lanzaste desde tu máquina local.

Usar Git para desarrollo web

Revisa el siguiente artículo para ver instrucciones de cómo enviar cambios en tu computador local a tu sitio en línea.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?