현재 및 미래의 모든 리포지토리에 Git 사후 커밋 후크 적용
Git 사후 커밋 후크를 작성했는데 올바르게 작동합니다.그러나 현재 작업 중인 모든 Git 저장소(및 향후)에 적용할 수 있도록 이 후크를 추가하고 싶습니다.나는 후크를 내 것에 추가하려고 시도했습니다.~/.git/hooks/프로젝트 디렉터리의 후크 디렉터리 대신 디렉터리를 사용합니다. 그러나 이것은 작동하지 않는 것처럼 보였습니다.
각 프로젝트 디렉토리에 복사할 필요 없이 시스템의 모든 리포지토리에 적용되는 글로벌 Git 후크를 만들 수 있는 방법이 있습니까?그렇지 않다면 앞으로 가장 좋은 해결책은 무엇일까요? git-init 템플릿?
Git 1.7.1 기준으로 Git 구성에서 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디렉터리와 나머지 도트 파일.사용할 수도 있습니다.$GIT_TEMPLATE_DIR말할 수 있는 환경git init템플릿 디렉터리가 있는 위치.
작업 중인 모든 현재(및 향후) Git 저장소에 적용할 수 있도록 이 후크를 추가합니다.
git 2.9+(2016년 6월)를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
git config --global core.hooksPath /path/to/my/centralized/hooks
중앙 집중식 후크를 관리하기 위해 "기본 깃 후크 변경"을 참조하십시오.
시스템의 모든 곳(사용자 외의 사용자 포함)에서 사용자를 원하는 경우 설치된 템플리트 디렉토리의 내용을 수정할 수 있습니다.$PREFIX/share/git-core/templates/hooks,어디에$PREFIX아마/usr/local또는/usr.
만약 당신이 이것이 당신만을 위한 것이기를 원한다면, 네, 가장 간단한 것은.--templategit-init 옵션.유지할 기본값의 설치된 버전(개별 후크, info 디렉토리...)에 대한 심볼릭 링크가 있는 개인 템플릿 디렉토리를 쉽게 유지할 수 있습니다.hooks/post-commit기타 사용자 지정할 수 있습니다.
미니멀리스트 접근법은 다음과 같은 것을 만드는 것입니다.git_hooks/저장소에 있는 디렉터리에서 해당 프로젝트에 대해 작성한 후크를 추적하고, 이를 다음에 언급하여 미래 사용자의 주의를 끌 수 있습니다.README그리고 그들이 복제한 후에 옳은 일을 하도록 그들에게 의지합니다.저는 한동안 이것에 대해 숙고했고 점진적인 접근법을 선택했습니다.앞으로 깃 후크와 같은 도구를 사용하는 것을 고려해 볼 수 있습니다.
언급URL : https://stackoverflow.com/questions/2293498/applying-a-git-post-commit-hook-to-all-current-and-future-repositories
'codememo' 카테고리의 다른 글
| WPF의 명령을 컨트롤의 더블 클릭 이벤트 핸들러에 바인딩하는 방법은 무엇입니까? (0) | 2023.05.13 |
|---|---|
| SQL Server에서 제약 조건의 이름을 바꾸시겠습니까? (0) | 2023.05.13 |
| 빈 값 또는 null 값을 확인하는 가장 좋은 방법 (0) | 2023.05.13 |
| 왜 코어를 써야 하죠?autocolf=git에 참입니까? (0) | 2023.05.13 |
| 배포 파일로 npm 패키지를 게시하려면 어떻게 해야 합니까? (0) | 2023.05.13 |