extracción de publicación de Windows git

2 minutos de lectura

Recientemente me he convertido de svn. Mi servidor está bajo Windows (no me culpen, no fue mi elección :}

Creé un repositorio con dos ramas “maestro” y “estable”.

En mi servidor, quiero obtener archivos de la rama estable.

He hecho:

git clone git://url/.git src
cd src
git checkout --track -b stable origin/stable

Anteriormente tenía un script .bat

cd my_repo_dir
svn update
echo APPLICATION_STAGE = 'production' > conf\__init__.py
net stop apache2.2
net start apache2.2

y funcionó, ahora con git

cd my_repo_dir
git pull
echo APPLICATION_STAGE = 'production' > conf\__init__.py
net stop apache2.2
net start apache2.2

nada se ejecuta después de git pull, ya sea que sea exitoso o esté actualizado. Simplemente sale para avisar sin previo aviso.

Pensé en ganchos. Yo he creado:

.git/hooks/post-receive
.git/hooks/post-update

ambos archivos con el mismo contenido:

echo APPLICATION_STAGE = 'production' > conf\__init__.py
net stop apache2.2
net start apache2.2

y no, tampoco se está ejecutando… Tal vez me falta la línea de declaración interpretada (#!/bin/sh en *nix) pero no estoy seguro de qué es en Windows…

avatar de usuario
manojlds

Algunos puntos:

  • Asegúrate de tener git.exe en la ruta. hacer un where git y debes obtener algo como

    C:\Program Files (x86)\Git\bin\git.exe
    

    Si se está utilizando git.cmd (desde C:\Program Files (x86)\Git\cmd\git.cmd ), debe hacer call git pull para que continúe la ejecución. yo diria agregar git.exe a la ruta y empezar a usarlo.

  • Incluso en Windows, debe tener el shebang: #!/bin/sh para que los ganchos funcionen correctamente.

  • Si desea que un gancho funcione al tirar, probablemente desee utilizar el post-merge gancho. post-receive y post-update ejecutar en repositorios remotos cuando los presiona.

git es probablemente un contenedor por lotes alrededor del ejecutable real. Utilizar call git pull.

Y esos ganchos solo se activan cuando el contenido se envía desde una ubicación remota, por lo que puedo ver en la documentación. Entonces son ignorados por pull.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad