Estoy intentando utilizar el gancho post-commit
siguiente para desplegar en un directorio en particular después de cada confirmación exitosa:¿Por qué la configuración de GIT_WORK_TREE no funciona en un enganche post-commit?
#!/bin/sh
export GIT_WORK_TREE=/var/www/example/
export GIT_DIR=/home/mark/test/.git/
git checkout -f
Sin embargo, después de cometer me sale el siguiente error:
$ git commit -m 'An example commit.'
fatal: Unable to create '/var/www/example/.git/index.lock': No such file or directory
[master 0938e48] An example commit.
... como si se estuviera ignorando la configuración GIT_WORK_TREE
. ¿Por qué parece que el ajuste de esta variable de entorno no funciona? Estoy usando la versión de Git 1.7.4.1.
Podría esto también puede usarse para hacer que las opciones worktree y gitdir trabajan en git escondite y otros comandos? 'git --worktree --gitdir' parece funcionar solo en ciertos comandos. –
@ Adam Dymitruk: He encontrado que '-work-tree = DIRECTORY' y' --git-dir = DIRECTORY' funcionan confiablemente fuera de los ganchos independientemente del comando, siempre que yo (a) los configure a ambos, y (b) establecer ambos en rutas absolutas, solo para evitar tener que recordar las confusas reglas sobre cómo se calcula el árbol de trabajo eventual y el directorio del repositorio ... –
esto está fuera de un gancho. algunos trabajos, otros no ... Tendré que confirmar si algunos de ellos no funcionan debido a caminos relativos ... Pero sería extraño para ese tipo de comportamiento ya que estoy usando el mismo camino y solo estoy cambiando El comando. –