[Git] Git 추가 기능

zzincode·2024년 12월 11일

Git GitHub

목록 보기
13/17
post-thumbnail

🪝Git Hooks

Git상의 이벤트마다 자동으로 실행될 스크립트를 지정

  • Git Hooks 폴더 보기
    - .git/hooks폴더 속
    파일들 끝에 .sample 을 없애면 훅 실행 파일이 됨.
    (파일의 이름은 각각이 언제 실행되는가를 나타냄)

  • gitmoji-cli 활용해보기

    1. gitmoji-cli 설치 + Node.js 설치
       brew install gitmoji
    2. 프로젝트의 훅에 적용
      1) hooks 폴더에 추가된 파일 확인
      2) 프로젝트에 수정된 git add . git commit하여 진행
      gitmoji -i //gitmoji commit hook 생성
      git add .
      git commit
      (gitmotji 선택 후 커밋 메시지 작성)
      git push


  • gitmoji-cli 훅 해제하려면
    hooks 폴더에서 prepare-commit-msg 파일 삭제

📁 Git Submodules

  • 프로젝트 폴더 안에 또 다른 프로젝트가 포함될 때 사용
  • main 프로젝트와 sub프로젝트는 각각 개별적인 git에서 관리
  1. main-project 폴더 생성 후 커밋, 깃헙에 main-project 연결
  2. submodule 폴더 생성 후 커밋, 새로운 레포지토리에 연결
  3. main-project에 서브모듈로 submodule 프로젝트 추가
 git submodule add (submodule의 GitHub 레포지토리 주소) (하위폴더명, 없을 시 생략)
 → main-project 폴더 내에 `submodule` 폴더와 `.gitmodules` 파일 생성
  1. 스테이징만 되어 있는 상태이기 때문에 커밋 진행

  2. 두 폴더 모두에 변경사항을 만든 후 git add .

    • main속 변경 사항은 스태이징
    • submodule 속 변경사항은 스태이징 되지 않음

    main-project의 git은 submodule에 관여하지 않는다는 걸 알 수 있음

  3. 두 폴더 따로 커밋 뒤 푸시

  4. main-project에서 상태를 확인하면 submodule에 변화가 생겼다고 나타남

    main-project의 git은 submodule에 커밋이 발생하는 것에는 관여함

  5. main-project에서 submodule 커밋 변화를 커밋 푸시

  • 서브모듈 업데이트
    1. main-project 새로운 곳에 clone
    2. 서브모듈 init 후 클론
    git submodule init (특정 서브모듈 지정시 해당 이름)
    git submodule update
  1. github에서 submodule에 수정사항 커밋

    main-project에서 아래 명령어로 업데이트

    git submodule update --remote

    • 서브모듈 안에 또 서브모듈이 있을 시: --recursive 추가

0개의 댓글