힘내 후크 101
4636 단어 hookpolicygitproductivity
git hooks
가 무엇인지에 초점을 맞추지 않고 사용 방법에 대한 간단한 예를 보여드리겠습니다.자식 후크는 무엇입니까?
발신자 git documentation:
Hooks are programs you can place in a hooks directory to trigger actions at
certain points in git’s execution. Hooks that don’t have the executable bit set
are ignored.
즉,
Hooks are programs you can place in a hooks directory to trigger actions at
certain points in git’s execution. Hooks that don’t have the executable bit set
are ignored.
모든 이벤트가 나열됩니다here.
이 튜토리얼에서는
Pre-Commit
이벤트에 집중하고 싶습니다.샘플 후크
.git/hooks
폴더에서 모든 기본 후크 샘플을 찾을 수 있습니다.
$ ls .git/hooks
applypatch-msg.sample post-update.sample pre-push.sample prepare-commit-msg.sample
commit-msg.sample pre-applypatch.sample pre-rebase.sample update.sample
fsmonitor-watchman.sample pre-commit.sample pre-receive.sample
우리의 후크
이 101 튜토리얼에서는 git hook
명령을 git commit
분기로 방지하는 간단한 master
생성 방법을 보여 드리겠습니다.
이제 파일 확장자 없이 새 파일pre-commit
을 만들 수 있습니다.
$ touch .git/hooks/pre-commit
이제 git
가 Linux에서 실행되기 때문에(MinGW를 사용하는 Windows의 경우) 첫 번째 줄은 Shebang이어야 합니다.
리눅스의 경우:
#!/bin/bash
Windows의 경우 git bash 위치여야 합니다. 예를 들면 다음과 같습니다.
#!C:/Program\ Files/Git/usr/bin/sh.exe
다음으로 분기를 인쇄하기 위해 git branch
명령을 실행해야 하지만 master
를 사용하여 현재 grep
에 있는지 알고 싶습니다.
git branch | grep "* master"
이제 다음 메시지와 함께 if
로 워프합니다.
if git branch | grep "* master" > /dev/null 2>&1
then
cat <<\EOF
# Message
EOF
fi
커밋을 비활성화하려면 0이 아닌 종료 코드를 제공해야 합니다.
exit 1
pre-commit
에 대한 후크는 다음과 같습니다.
if git branch | grep "* master" > /dev/null 2>&1
then
cat <<\EOF
Commits are not allowed on branch Master!
EOF
exit 1
fi
해보자:
$ git commit -m "Commit message"
Commits are not allowed on branch Master!
기본값으로 설정
대부분의 사람들에게 어떤 문제가 있습니까? 우리가 게으르다는 것, 우리는 무언가를 한 번만 하고 싶다는 것입니다.git template directory
를 사용하는 이 옵션이 있으며 이에 대한 자세한 내용을 찾을 수 있습니다here.
이 템플릿 디렉터리가 수행하는 작업은 git init
명령을 사용할 때 이름이 점으로 시작하지 않는 이 디렉터리 아래의 모든 파일을 복사하는 것입니다.
이제 template dir
를 정의해 보겠습니다.
$ export GIT_TEMPLATE_DIR=PATH
$ cd PATH
$ mkdir hooks
그리고 아래PATH\hooks
에서 후크를 만들고 즐기세요 :)
Like this post?
Support me via Patreon
Subscribe to my
Reference
이 문제에 관하여(힘내 후크 101), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/eranelbaz/git-hooks-101-62l
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ ls .git/hooks
applypatch-msg.sample post-update.sample pre-push.sample prepare-commit-msg.sample
commit-msg.sample pre-applypatch.sample pre-rebase.sample update.sample
fsmonitor-watchman.sample pre-commit.sample pre-receive.sample
이 101 튜토리얼에서는
git hook
명령을 git commit
분기로 방지하는 간단한 master
생성 방법을 보여 드리겠습니다.이제 파일 확장자 없이 새 파일
pre-commit
을 만들 수 있습니다.$ touch .git/hooks/pre-commit
이제
git
가 Linux에서 실행되기 때문에(MinGW를 사용하는 Windows의 경우) 첫 번째 줄은 Shebang이어야 합니다.리눅스의 경우:
#!/bin/bash
Windows의 경우 git bash 위치여야 합니다. 예를 들면 다음과 같습니다.
#!C:/Program\ Files/Git/usr/bin/sh.exe
다음으로 분기를 인쇄하기 위해
git branch
명령을 실행해야 하지만 master
를 사용하여 현재 grep
에 있는지 알고 싶습니다.git branch | grep "* master"
이제 다음 메시지와 함께
if
로 워프합니다.if git branch | grep "* master" > /dev/null 2>&1
then
cat <<\EOF
# Message
EOF
fi
커밋을 비활성화하려면 0이 아닌 종료 코드를 제공해야 합니다.
exit 1
pre-commit
에 대한 후크는 다음과 같습니다.if git branch | grep "* master" > /dev/null 2>&1
then
cat <<\EOF
Commits are not allowed on branch Master!
EOF
exit 1
fi
해보자:
$ git commit -m "Commit message"
Commits are not allowed on branch Master!
기본값으로 설정
대부분의 사람들에게 어떤 문제가 있습니까? 우리가 게으르다는 것, 우리는 무언가를 한 번만 하고 싶다는 것입니다.git template directory
를 사용하는 이 옵션이 있으며 이에 대한 자세한 내용을 찾을 수 있습니다here.
이 템플릿 디렉터리가 수행하는 작업은 git init
명령을 사용할 때 이름이 점으로 시작하지 않는 이 디렉터리 아래의 모든 파일을 복사하는 것입니다.
이제 template dir
를 정의해 보겠습니다.
$ export GIT_TEMPLATE_DIR=PATH
$ cd PATH
$ mkdir hooks
그리고 아래PATH\hooks
에서 후크를 만들고 즐기세요 :)
Like this post?
Support me via Patreon
Subscribe to my
Reference
이 문제에 관하여(힘내 후크 101), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/eranelbaz/git-hooks-101-62l
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ export GIT_TEMPLATE_DIR=PATH
$ cd PATH
$ mkdir hooks
Like this post?
Support me via Patreon
Subscribe to my
Reference
이 문제에 관하여(힘내 후크 101), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/eranelbaz/git-hooks-101-62l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)