목록 보기
Unity 프로젝트를 위한 Git Hooks 활용
데브옵스

Unity 프로젝트를 위한 Git Hooks 활용

데브시스터즈
데브시스터즈
2022년 8월 2일

두줄요약

Unity 대규모 협업에서 CI만으로 막기 어려운 커밋 문제를 Git Hooks로 예방했습니다.\nHook 공유·자동 설치와 Rust 기반 바이너리 Hook의 운영 주의점을 소개합니다.

문제 상황

  • 다직군 다수가 단일 Unity 저장소의 메인 브랜치에 빠르게 반영하는 트렁크 기반 개발 환경
  • CI 완료 전 신규 커밋이 누적돼 문제 커밋 추적과 대응 부담 증가
  • OS 비호환 파일명, Unity .meta 파일 쌍 불일치로 체크아웃·충돌·에셋 참조 소실 위험

해결 방법

  • pre-commit Hook으로 잘못된 파일명과 .meta 불일치 등 커밋 전 문제 차단
  • .githooks와 core.hooksPath로 Hook 코드의 저장소 내 공유·버전 관리
  • Unity InitializeOnLoadMethod에서 로컬 Git 설정을 등록해 Hook 설치 자동화

성능/운영 포인트

  • post-merge 바이너리 Hook으로 Unity 버전 업데이트 시 Unity Hub 설치 페이지 자동 실행
  • 복잡하거나 성능 민감한 Hook에 Rust 바이너리와 OS별 크로스 컴파일 적용
  • Hook 오류 시 CI 경고와 엔지니어 대응 부담 감소를 위한 빠른 실행 시간 확보

주의할 점

  • 오탐으로 팀 전체 커밋이 막히지 않도록 다환경 테스트와 수동 검증 우선
  • --no-verify 등 우회 방법과 이해하기 쉬운 오류 메시지 제공
  • 로컬 저장소 밖 파일·전역 설정 변경 지양, Hook 목적과 동작 사전 공유

다음 읽기

#Unity 주제를 이어서 읽기

게임 회사에서 클라이언트 프로그래머가 하는 일

게임 클라이언트 프로그래머의 업무를 업데이트 제작 흐름에 맞춰 소개했습니다.툴 개발, 리소스 관리, QA 대응과 함께 신입에게 필요한 역량도 정리했습니다.

데브시스터즈
데브시스터즈
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...