
git repo를 생성하는 모든 방법을 연결할 수 있습니까? 그래서 repo가 복제되고 초기화될 때 스크립트를 실행할 수 있습니다. (폴더 이동/복사 외에 다른 방법이 있나요?)
내 의도는 모든 저장소를 추적하는 것이므로 일부 작업을 실행하기 위해 모든 디렉터리를 살펴볼 필요가 없습니다(주로 git status
변경 사항을 커밋하는 것을 잊어버릴 때가 있기 때문입니다 git gc --auto
).
답변1
후크는 (현재) 리포지토리별로 독점적으로 구성되므로 리포지토리가 생성되기 전에는 활성 후크가 있을 수 없습니다.
모든 새 저장소에 대해 일부 저장소 특정 설정을 동일하게 초기화하려는 경우 다음을 사용할 수 있습니다.저장소 템플릿 메커니즘.
자신만의 템플릿을 사용하면 다음을 수행할 수 있습니다.
- 활성화된 후크를 설치합니다(파일 제공
<template‑dir>/hooks/<hook‑name>
). <template‑dir>/config
( 파일 제공을 통해) 구성 변수를 설정하고<template‑dir>/info/exclude
저장소별 제외 규칙 또는 속성을 구성합니다( 또는 파일 제공<template‑dir/info/attributes>
).
디렉토리 에 있는 모든 구성 파일은 .git
템플릿에 배치되어 템플릿에서 초기화된 새 저장소에서 해당 파일의 초기 복사본 역할을 할 수 있습니다. 초기 개체와 참조를 제공할 수도 있다고 가정합니다.
사용자 정의 항목으로 구성된 템플릿 디렉토리가 있으면 해당 디렉토리를 찾을 수 있는 위치를 알려주어야 git init
합니다 git clone
. 이는 --template
옵션(Git 0.99.4 이상)을 사용하여 명시적으로 수행하거나 GIT_TEMPLATE_DIR
환경 변수(Git 1.5.0 이상)를 사용하여 암시적으로 수행하거나 init.templatedir
“global”(사용자별) 또는 "시스템" Git 구성 파일(예: ~/.gitconfig
또는 /etc/gitconfig
(설치에 따라 다름), Git 1.7.1 이상)
답변2
git repo를 "추적"할 수 없습니다("현재 활성 git repo 목록을 중앙 참조에 요청하는 것처럼).
각 git repo는 서로 독립적입니다.
두 가지 솔루션을 고려할 수 있습니다.
Chris의 답변과 같은 git 템플릿 중 하나클라이언트 측 후크처음 사용할 때 일부 "중앙" 파일에 git repo를 등록할 수 있습니다. 그러면 해당 파일은 관련성 있는 파일 이나 원하는 파일을
만들기 위해 외부 스크립트(git 외부)에 의해 읽혀집니다 .git status
git gc
모든 git 저장소가 동일한 공통 디렉토리 아래에 선언된 경우 전역 상위 git 저장소를 선언하고 모든 하위 저장소를 다음과 같이 추가할 수 있습니다.서브모듈.
부터자식1.7.0,git status
서브모듈에 커밋되지 않은 변경 사항이 포함된 경우를 알 수 있습니다.