traemos tag repositorio remoto remota rama que los cómo crear colaborador cambios cambiar agregar git

tag - Configuración de un repositorio git en mi plan de alojamiento GoDaddy



que es un repositorio git (9)

Tengo un proyecto que está controlado por versiones usando git.

Lo que quiero poder hacer es configurar un repositorio en mi paquete de alojamiento compartido GoDaddy (habilitado para ssh) para que pueda implementarlo con un empuje en lugar de arrastrar y soltar en FTP.

Cualquier consejo sería apreciado. Lo mejor sería una cuenta de alguien que ya lo haya hecho, pero personalmente no pude encontrar ninguna en línea.


Con un poco de trabajo, pude hacer funcionar a Git en mi cuenta de GoDaddy. Hay una publicación más larga que detalla el proceso en mi blog , pero la respuesta corta es:

  1. instale git en su cuenta (quizás utilizando el tarball al que se hace referencia en la publicación de mi blog)
  2. crear un repositorio git (sin formato) en su cuenta
  3. revisa tu repositorio, usando -u para indicar la ruta a git-upload-pack

    % git clone -u libexec / git-core / git-upload-pack mysite: myrepo.git

  4. modifique la configuración del repositorio local para que apunte a las rutas correctas a git-upload-pack y git-receive-pack :

    % git config remote.origin.receivepack libexec / git-core / git-receive-pack
    % git config remote.origin.uploadpack libexec / git-core / git-upload-pack

Ya que el blog ya no es accesible, aquí está la publicación completa extraída de archive.org :

Usando Git en GoDaddy

Este blog está alojado en una cuenta barata de GoDaddy. Cuando el acceso de shell a través de SSH estuvo disponible recientemente, pensé que sería divertido instalar repositorios locales de git. No fue trivial, pero finalmente lo hice funcionar. Así es como lo hice:

Paso 0. Configurar SSH

Desea crear una clave pública para poder ingresar SSH a su cuenta de GoDaddy sin problemas. Cree un par de claves si aún no tiene una, y agréguela a ~/.ssh/authorized_keys . ~/.ssh/config una entrada en ~/.ssh/config algo como esto:

Host mysite HostName mygodaddysite.com User mylogin

Paso 1. Instalar Git

Después de hurgar en mi host GoDaddy, descubrí que estaba ejecutando CentOS 5.2. Los binarios que se ejecutaban en mi computadora portátil no eran compatibles, así que usé VirtualBox para configurar un Centos 5.2 local de instalación y compilación de Git. Estoy compartiendo un archivo comprimido que contiene los binarios precompilados de CentOS 5.2 Git . Debes poder descargar e instalar con los comandos:

wget http://johntrammell.com/centos5.2-git.tar.gz tar xzf centos5.2-git.tar.gz

Disfruta de esta parte, te he ahorrado un par de horas de trabajo aquí.

Paso 2. Configura tu entorno.

Agregue lo siguiente a su .bash_profile:

export EDITOR=vim export PATH=$PATH:$HOME/bin:$HOME/libexec/git-core export LD_LIBRARY_PATH=$HOME/lib export GIT_EXEC_PATH=~/libexec/git-core export GIT_TEMPLATE_DIR=~/share/git-core/templates

Esto configurará su entorno correctamente en un shell interactivo. Desafortunadamente, parece que no puedo configurar correctamente el PATH para los comandos SSH no interactivos. Por ejemplo, cuando ejecuto este comando desde mi computadora portátil:

ssh mysite env

Veo el PATH predeterminado. Este es también el caso cuando configuro la ruta en .bashrc. No he rastreado exactamente qué hace SSH en el acceso no interactivo, pero esto puede estar relacionado con la configuración de PermitUserEnvironment en sshd. Por suerte podemos solucionar esto.

Paso 3. Creando un repositorio

Inicie sesión en su cuenta de GoDaddy y cree un simple repositorio Git "simple":

% mkdir myrepo % cd myrepo % touch README % git init % git add README % git commit -m ''empty git repository'' % cd .. % git clone --bare myrepo myrepo.git

Ahora tiene un repositorio ~/myrepo.git/ en ~/myrepo.git/ en la raíz de su cuenta de GoDaddy.

Paso 4. Revisando tu repositorio

La única parte difícil de esto es que tienes que decirle a git dónde encontrar git-upload-pack. Esto funciona alrededor del problema PATH mencionado anteriormente. En su máquina local, haga esto:

git clone -u libexec/git-core/git-upload-pack mysite:myrepo.git

Ahora debe tener una copia del repositorio mínimo original desprotegido.

Paso 5. Más ajustes de configuración de git.

Lamentablemente no hemos terminado

% cd myrepo % echo "foo" > README % git commit -am ''updated'' [master 044c086] updated 1 files changed, 1 insertions(+), 0 deletions(-) % git push bash: git-receive-pack: command not found fatal: The remote end hung up unexpectedly

Nuestros problemas de PATH están interfiriendo con la operación de empuje ahora. Como solución alternativa, podemos especificar –receive-pack en la línea de comandos, o configurarlo en la configuración local (lo mismo se aplica a las operaciones de recuperación y –upload-pack):

% git config remote.origin.receivepack libexec/git-core/git-receive-pack % git config remote.origin.uploadpack libexec/git-core/git-upload-pack

¡Felicidades, deberías estar listo y funcionando ahora!

Recursos


Conectar a través de ssh.

Instala git en ~ / git.

Después de eso crea / actualiza estos archivos:

~ / .ssh / authorized_keys

command="~/connect.sh" ssh-rsa AAAAB3NzaC...

~ / connect.sh

#!/bin/bash if [ -f "${HOME}/.env_profile" ]; then source ~/.env_profile fi; if [ "x${SSH_ORIGINAL_COMMAND}x" == "xx" ]; then $SHELL --login else eval "${SSH_ORIGINAL_COMMAND}" fi;

~ / .env_profile

export ENV_VARIABLE=value

por git:

export PATH=$PATH:$HOME/bin:$HOME/git/libexec/git-core export LD_LIBRARY_PATH=$HOME/git/lib export GIT_EXEC_PATH=~/git/libexec/git-core export GIT_TEMPLATE_DIR=~/git/share/git-core/templates

Pasé alrededor de una semana para buscar en Google, pero ahora funciona como un encanto ... No creo que haya otra solución para las cuentas de GoDaddy, las posibilidades son demasiado limitadas para ellos ...




Las instrucciones en esta publicación del blog funcionaron para mí, excepto que tuve que visitar EPEL y encontrar la versión más reciente del git RPM: http://hire.chrisjlee.net/node/139

Trae los binarios

cd ~ mkdir git cd git # Download the rpm from EPEL ( http://fedoraproject.org/wiki/EPEL ) # Find the latest version by checking http://dl.fedoraproject.org/pub/epel/5/i386/ wget http://dl.fedoraproject.org/pub/epel/5/i386/git-1.8.2.1-1.el5.i386.rpm # Extract binaries from the rpm rpm2cpio git-1.7.4.1-1.el5.i386.rpm | cpio -imdv rm git-1.7.4.1-1.el5.i386.rpm

Configurar

echo " export GIT_BIN=${HOME}/git export PATH=${GIT_BIN}/usr/bin:${PATH} export GIT_EXEC_PATH=${GIT_BIN}/usr/bin export GIT_TEMPLATE_DIR=${GIT_BIN}/usr/share/git-core/templates export GIT_SSL_NO_VERIFY=true" >> ~/.bashrc

Configurar git

mkdir ~/.git git config --local --add remote.origin.uploadpack ~/git/usr/bin/git-upload-pack git config --local --add remote.origin.receivepack ~/git/usr/bin/git-receive-pack


Primero, deberás tener git instalado en GoDaddy. No estoy seguro de si esto es posible. Git es compatible con instalaciones de usuarios locales, pero necesita tener ciertas herramientas de desarrollo a mano para hacerlo. Descargue git y vea si puede ./configure && make && make install - si es así, lo pondrá en su directorio ~/bin .

Usamos git extensivamente para controlar la producción. Pero en lugar de desplegar en modo push, ¿puedo sugerirte que vayas a la caja y hagas un git pull ?

Más específicamente, cree una rama "Release" y luego, cuando esté listo para implementar, simplemente fusione sus cambios en la rama Release, ssh al servidor y git pull.

Por ejemplo

ssh [email protected] cd /path/to/project #ok, assuming you are on the Release branch git fetch git merge branch-with-new-changes-on-it # update the remote Release branch with the merge git push origin HEAD

Este simple flujo de trabajo permite a los desarrolladores ver exactamente qué hay en el servidor de producción en todo momento, y combinar otros cambios con los suyos antes de solicitar una implementación. De hecho, requerimos que todos los cambios de producción estén completamente fusionados antes de solicitar un despliegue de su sucursal.

-

Si logras instalar git en GoDaddy y REALMENTE deseas un despliegue automático cuando lo presionas, entonces echa un vistazo al enlace post-update .

http://git-scm.com/docs/githooks

-

Si no puede instalar git en GoDaddy, vea si son compatibles con rsync. Entonces puedes tener un simple script de bash en algún lugar que

  1. tira de tus cambios
  2. rsync ellos a Godaddy

-

Hay muchas maneras de hacerlo. Quizás esto ayude con la dirección un poco ...



Tuve que configurar git en un VPS alojado en http://netgonian.com (revendedor de GoDaddy). Lo que tomó 3 horas se pudo haber hecho en unos 15 minutos y fue muy fácil.

Instalar git debería ser tan simple como ejecutar yum install git pero desafortunadamente, al intentarlo no podía encontrar errores en los archivos. A continuación se muestra la solución final.

Aquí están los pasos:

  1. ssh en su servidor virtual
  2. cambie al usuario root usando el comando su -
  3. siga las instrucciones aquí para crear un nuevo archivo centos-base.repo
  4. en el mismo directorio donde acaba de crear el archivo anterior (/etc/yum.repos.d) cambie el nombre del archivo CentoOS-Base.repo a CentOS-Base.repox
  5. ahora puedes ejecutar yum install git y funcionará.

El problema básico era que todas las direcciones URL básicas para yum apuntaban a algún servidor en secureserver.net que faltaba todos los archivos necesarios. Lo que estamos haciendo arriba es apuntar las URL básicas a los servidores que tienen los archivos necesarios.


Yo mantengo git localmente y uso scp para enviar en vivo ... no es elegante, pero Godaddy ha instalado Scp por defecto.

"scp -r fooDirectory [email protected]: / path / to / document / root /"

que moverá un directorio local "fooDirectory" a "/ path / to / document / root / fooDirectory" en el host remoto.

cuando hayas iniciado sesión en go daddy use "pwd