나는 각 성공적인 커밋 후에 특정 디렉토리에 전개하기 위해 다음 post-commit
훅을 사용하려고합니다.GIT_WORK_TREE를 post-commit 훅에서 설정하지 않는 이유는 무엇입니까?
#!/bin/sh
export GIT_WORK_TREE=/var/www/example/
export GIT_DIR=/home/mark/test/.git/
git checkout -f
그러나 다음과 같은 오류가 발생합니다.
$ 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.
... as GIT_WORK_TREE
설정이 무시되는 경우. 이 환경 변수를 설정하는 것이 왜 작동하지 않는 것처럼 보입니까? 나는 자식 버전 1.7.4.1을 사용하고있다.
이 또한 worktree 및 gitdir 옵션 자식에 작동하게하는 데 사용할 수 있습니다 :
당신이 당신의 후크의 모습, 그래서 당신은 단지,GIT_INDEX_FILE
설정을 해제 할 필요가 예상하는대로 후크 작업을 만들려면 은신처 및 다른 명령? 'git --worktree --gitdir@Adam Dymitruk : 나는'--work-tree = DIRECTORY'와'--git-dir = DIRECTORY'가 명령에 상관없이 hook 외부에서 안정적으로 작동한다는 것을 발견했다. (b) 최종 작업 트리 및 저장소 디렉토리가 계산되는 방법에 대한 혼란스러운 규칙을 기억하지 않아도되도록 절대 경로로 설정하십시오. –
이것은 모두 후크 외부입니다. 일부는 작동하지 않습니다 .. 일부는 상대 경로로 인해 작동하지 않는지 확인해야 할 것입니다. 그러나 동일한 경로를 사용하고 있으며 변경하는 경우에는 이런 종류의 동작이 이상 할 것입니다. 명령. –