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.
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.
Descarga e instala Git para Windows:
Selecciona todas las opciones predeterminadas durante la instalació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.
Del menú de inicio, localiza el programa que acabas de instalar. Busca Git Gui.
Da clic en el menú Help y selecciona Show SSH Key.
Del menú desplegable, da clic en Generate Key en la parte superior derecha. Se te pide ingresar una frase de acceso.
Deja el campo de ingreso vacío y da clic en OK dos veces. Se muestra tu llave pública.
Da clic en Copy To Clipboard.
Abre el menú de inicio y abre el programa Block de notas. Una vez abierto, pega la llave pública.
Guarda el archivo y nómbralo algo así como dreamhost-git-key.pub. Asegúrate de guardarlo en la carpeta Documentos.
Cargar la llave pública en tu servidor DreamHost
Navega a la carpeta Documentos.
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 $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 dreamhostdreamhost-git-key.pubEl 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:
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 | sshuser@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 existsEsto 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 | sshuser@server.dreamhost.com"cat >> ~/.ssh/authorized_keys"Inicia sesión en tu servidor de DreamHost vía SSH:
[local ~]$sshuser@server.dreamhost.comConfirma que tu llave ha sido agregada al servidor de DreamHost corriendo lo siguiente (esto debería generar tu clave):
[local ~]$cat ~/.ssh/authorized_keys
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.
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]$mkdirexample.com.git[server]$cd ~/example.com.git[server]$git init --bare[server]$git symbolic-ref HEAD refs/heads/mainCorre
ls -lapara confirmar que los archivos y directorios han sido creados.[server]$ls -laHEAD /branches config description /hooks /info /objects /refsConfirma que el archivo HEAD está configurado para usar main corriendo el siguiente comando.
[server]$cat HEADref: refs/heads/mainDeberías ver a main usádose.
Configurar git en tu computador
Navega al directorio de tu proyecto.
Da clic derecho y selecciona Git Bash Here. Esto abre un terminal que ya está corriendo Git.
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.emailjohndoe@example.comCorre
git --versionen tu computador local.[local ~]$git --versionSi la versión local de tu git es al menos 2.28, corre el siguiente comando init.defaultBranch para asegurarte de que todos los repositorios recién creados usan el nombre main como la rama principal.
[local ~]$git config --global init.defaultBranch mainSi 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 hayas hecho el primer commit de abajo. 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
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.
Enviar tu repositorio local al repositorio remoto
Este paso lanza tu repositorio local a tu servidor de DreamHost.
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
useryservera tu usuario de DreamHost y nombre de servidor.La palabra
dreamhostes 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 adddreamhostssh://user@server.dreamhost.com/~/example.com.gitVerifica que el nuevo remoto existe.
[local ~]$git remote showdreamhostLanza el repositorio local a tu servidor de DreamHost.
[local ~]$git push -u dreamhost main
Confirmar que tu repositorio fue lanzado correctamente a tu servidor DreamHost
Inicia sesión en tu servidor DreamHost vía SSH.
Navega al directorio /example.com.git. Cuando corres
git statusen el directorio /example.com.git, recibirás el siguiente error porque este directorio no es un 'árbol de trabajo': <code><span class="server">[server]$ </span><span class="command">git status</span> <span class="cmdoutput">fatal: This operation must be run in a work tree</span></code>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 -laEste 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.