Programing

모든 현재 및 미래의 repos에 git post-commit hook 적용

lottogame 2020. 3. 30. 08:44
반응형

모든 현재 및 미래의 repos에 git post-commit hook 적용


Git post-commit hook을 작성했으며 올바르게 작동합니다. 그러나이 후크를 추가하여 현재 작업중 인 모든 현재 및 미래의 자식 리포지토리에 적용하고 싶습니다. ~/.git/hooks/프로젝트 디렉토리의 hooks 디렉토리 대신 후크를 추가하려고 시도했지만 작동하지 않는 것 같습니다.

내 시스템의 모든 리포지토리에 적용 할 전역 Git 후크를 만드는 방법이 있습니까 (각 프로젝트 디렉토리에 복사하지 않고도)? 그렇지 않다면 앞으로 가장 좋은 해결책은 무엇입니까? 아마도 git-init 템플릿입니까?


이 후크를 추가하여 현재 작업중 인 모든 현재 및 미래의 자식 리포지토리에 적용하고 싶습니다.

git 2.9+ (2016 년 6 월)를 사용하면 다음과 같이 할 수 있습니다.

git config --global core.hooksPath /path/to/my/centralized/hooks

" 기본 git hook 변경 "을 참조하십시오 : 이것은 중앙 집중식 hook을 관리하기 위해 수행되었습니다.


git 1.7.1부터 gitconfig에서 init.templatedir설정 하여 git에게 템플릿을 찾을 위치를 알려줄 수 있습니다 .

다음과 같이 설정하십시오.

git config --global init.templatedir '~/.git_template'

이후에 생성하거나 복제 한 새 리포지토리는이 디렉터리를 템플릿으로 사용합니다. 원하는 고리를 넣습니다 ~/.git_template/hooks. 기존 리포지토리는 git init동일한 디렉토리에서 실행하여 적절한 템플릿으로 다시 초기화 할 수 있습니다 .git.

1.7.1 이전의 git 버전의 git init --template ~/.git_template경우 , 나와 비슷 .git_template하고 나머지 도트 파일과 함께 dir 을 관리하려는 경우 running 이 작동 합니다. $GIT_TEMPLATE_DIR환경을 사용 git init하여 템플릿 디렉토리의 위치 를 알 수 있습니다 .


당신이 (당신 이외의 사용자를 포함하여) 시스템에 모든 곳을 원한다면, 당신은 설치된 템플릿 디렉토리의 내용을 수정할 수 있습니다 - 사람들은에있는 $PREFIX/share/git-core/templates/hooks경우, $PREFIX아마 /usr/local/usr.

이것이 당신을 위해서라면, 가장 간단한 것은 --templategit-init 옵션입니다. 설치하려는 기본 버전 (개별 후크, 정보 디렉토리 ...)에 대한 심볼릭 링크가있는 개인 템플릿 디렉토리를 쉽게 유지 한 다음 사용자 고유의 컨텐츠 hooks/post-commit및 사용자 정의하려는 항목을 쉽게 유지할 수 있습니다.


미니멀리스트 접근 방식은 git_hooks/저장소에 디렉토리 를 작성하여 해당 프로젝트에 대해 작성한 후크를 추적하고에서 언급하여 미래 사용자의 관심을 끌고 README복제 한 후 올바른 작업을 수행하는 데 의존하는 것입니다. 나는 이것을 잠시 동안 다루었 고 점진적 접근법을 선택했다. 길 아래에서 git-hooks 와 같은 도구를 사용하는 것이 좋습니다.

참고 URL : https://stackoverflow.com/questions/2293498/applying-a-git-post-commit-hook-to-all-current-and-future-repos

반응형