2012-02-06 11 views
15

He presionado un sitio web para mi servidor remoto a través de Git, pero tiene el error¿Cómo puedo ejecutar manualmente el gancho después de recibir en git?

cannot run post-receive: No such file or directory 

Así las cosas es en el servidor, que ha sido desplegado no solo a mi carpeta/pública.

Sin embargo tengo un archivo de post-recepción, así que no estoy seguro de por qué no se encontró. Ahora pensé que todo lo que tenía que hacer era ejecutar manualmente este gancho post-recepción para realizar el pago, aunque no sé cómo ...

+0

Compruebe si [esto] (http://stackoverflow.com/questions/3563904/git-hook-post-merge-error-cannot-run) ayuda. – vpatil

Respuesta

22

Un gancho es un script de shell ejecutable. Puede ejecutarlo desde la línea de comandos si necesita ejecutarlo a mano, aunque construir el esperado stdin inuput es algo tedioso si su repositorio tiene más de una cabeza (es decir, usa ramas). Debe haber un comando de bajo nivel para hacer esto por ti, pero no lo sé de improviso.

Suponiendo una cáscara del golpe y una sola rama en su repositorio git ...

# Print the log with full hashes and commit subject, so that you can 
# figure out which hashes to use for the FROM and TO range. 
/path/to/repo$ git log --pretty=%H\ %s 

# assuming the FROM commit identifies as 999988887777 
# and te TO commit identifies as 000011112222 
# (Note: use the full length hashes; I've shortened them for the example) 
/path/to/repo$ .git/hooks/post-receive <<MARK 
999988887777 000011112222 refs/heads/master 
MARK 

... lo anterior debe funcionar igual que la cosa real.

+0

Ok ahora, así que ejecuté website.git/hooks/post-receive y obtuve "línea 1: GET_WORK_TREE: comando no encontrado": -/ – nerdess

+4

D'oh Me enteré de lo que estaba mal: debería ser GIT_WORK_TREE, por supuesto, no GET_WORK_TREE – nerdess

+0

¿Qué hace la sintaxis de MARK? No he podido encontrar ningún documento sobre él. ¡Gracias! – Xgongiveittoya

Cuestiones relacionadas