728x90
728x90
# Git Hook이란?
https://git-scm.com/docs/githooks
commit이나 push같은 이벤트 발생 시 동작
.git/hooks
폴더를 확인하면 여러 hook들에 대한 sample 파일들을 확인할 수 있다
# pre-commit이란?
위 hook들 중 pre-commit hook용 프레임워크이다
.pre-commit-config.yaml
파일을 구성하여 사용할 수 있다.
sample config는 아래와 같다.
$ pre-commit sample-config
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
add되어 staging 상태에 있는 file들에 대해 pre-commit에 명시된 코드들이 돌아간다고 생각하면 된다
lint, black, isort 등을 많이 사용한다
# pre-commit 설치 및 세팅 (MAC)
# pre-commit 설치
brew install pre-commit
# sample config 확인
pre-commit sample-config
pre-commit hook으로 사용할 수 있는 것들은 알아서 알아보자. docs에도 인터넷 여기저기에도 레퍼런스는 많다
나는 repo 내에 작성해둔 간단한 스크립트를 pre-commit으로 돌리고 싶었다
-> local repository를 사용하면 된다
repos:
- repo: local
hooks:
- id: test_script
name: test_script
entry: ./test_script.sh
language: script
types: [file]
pass_filenames: false
이렇게 하니까 된다
끝!
728x90
728x90
'공부 > Git' 카테고리의 다른 글
[Github] Custom Action 구성 시 같은 Org 허용 (0) | 2023.10.29 |
---|---|
[Github Action Runner] Self-Hosted Runner in Amazon Linux 2023 (0) | 2023.09.17 |
[git stash] error: 다음 파일의 로컬 변경 사항을 체크아웃 때문에 덮어 쓰게 됩니다 (0) | 2022.08.13 |
[Git] fork와 clone의 차이 (0) | 2020.07.09 |
[Git] Git과 SVN의 차이, 그리고 Branch와 merge (1) | 2020.07.09 |
댓글