🔐  GitHub에서 CI를 실제로 강제하려면?
개발/Git2025. 4. 2. 13:43🔐 GitHub에서 CI를 실제로 강제하려면?

🔐 GitHub에서 CI를 실제로 강제하려면? 앞에서 우리는 GitHub Actions로 PR이 열릴 때pnpm install, build, test를 자동 실행하도록 구성했어요. 근데 사실…테스트가 실패했는데도 Merge 버튼을 누를 수 있다면? 😱CI를 돌리는 의미가 많이 퇴색되겠죠? 그래서 반드시 설정해야 하는 게 있어요.바로 GitHub의 Branch Protection Rule입니다. ✅ 설정 위치 1. GitHub 저장소의 상단 메뉴에서 Settings 클릭 2. 좌측 메뉴에서 Branches 클릭 3. Branch protection rules 섹션에서 Add rule 클릭 ✅ 필수 옵션들 → 실수로 git push origin main 해버리는 상황을 막을 수 있어요!  • 체크하면 아..

프로젝트에 GitHub Actions로 CI 구축하기
개발/Git2025. 4. 2. 13:22프로젝트에 GitHub Actions로 CI 구축하기

최근에 사이드 프로젝트를 만들면서GitHub Actions를 활용해 자동화된 CI 환경을 구축한 경험을 정리해보려고 합니다. ✅ 왜 CI가 필요했을까? 프로젝트가 커지고 브랜치가 많아지다 보니 이런 문제가 생기더라고요. • 코드 수정할 때마다 직접 build, test를 돌려봐야 하는 번거로움 • 과거의 내가 만든 코드가 기존 기능을 깨뜨릴 수도 있음 • 자잘한 수정만 했을 때도 전체 테스트를 돌리는 건 시간 낭비 그래서 자연스럽게 이런 생각이 들었습니다. “PR 올리면 자동으로 테스트 돌고, 이상 있으면 merge 못 하게 만들 수 없을까?” ➡️ 이걸 해결해줄 수 있는 게 바로 CI (Continuous Integration) 입니다. 🤖 왜 GitHub Actions를 선택했을까? CI 도구는 정..

Husky의 동작 과정과 원리
개발/Git2025. 3. 17. 17:00Husky의 동작 과정과 원리

Husky는 Git Hook을 활용하여 코드 품질을 유지하고 오류가 포함된 코드가 커밋되는 것을 방지하는 도구다.Git Hook이란 Git의 특정 이벤트(예: 커밋, 푸시)가 발생할 때 실행되는 스크립트인데,Husky는 이를 활용하여 자동으로 ESLint, Prettier, 테스트 실행 등을 수행할 수 있다. ✅ 1. Husky 패키지 설치npm install --save-dev husky lint-staged • husky → Git Hook을 제어하는 패키지 • lint-staged → 변경된 파일만 ESLint, Prettier 등을 실행✅ 설치 완료 후, package.json을 보면 devDependencies에 추가됨. 📌 2. Husky 활성화 (husky install)설치 후 Husky..

Git Bash 와 Git, vi 명령어 모음
개발/Git2023. 5. 11. 14:21Git Bash 와 Git, vi 명령어 모음

Git Bash 란? Git bash는 윈도우 운영체제에서 git 명령어를 실행할 수 있도록 제공되는 터미널 에뮬레이터이다. 윈도우에서도 리눅스나 맥에서처럼 git 명령어를 사용할 수 있어 편리하고, vim이나 nano와 같은 텍스트 에디터를 사용하여 편집할 수 있다. vim ( vi )는 명령 모드와 편집 모드로 나뉘어 있으며, 명령 모드에서는 텍스트 파일을 편집하기 위한 다양한 명령어를 입력할 수 있고, 편집 모드에서는 실제로 텍스트를 입력하거나 편집할 수 있다. Git bash 오른쪽 클릭해서 “관리자 권한으로 실행”을 클릭한다. Git bash를 관리자 권한으로 실행해야 하는 이유는 파일 시스템 권한 때문인데, Git bash를 실행하면 기본적으로 현재 사용자의 홈 디렉터리로 이동한다. 그러나 윈..

ignore 처리했는데 파일이 changes에 있을 때.
개발/Git2023. 3. 20. 21:44ignore 처리했는데 파일이 changes에 있을 때.

일하다가 몇번씩 당황스러운 경우가 있었는데, .gitignore가 에러가 나서 ignore 처리를 한 파일이 changes에 등장 할 때 이다. git의 캐시 문제로 인해 생기는 것인데, 아래 명령어로 캐시 내용을 전부 밀어버린 후에, add All해서 커밋하면 된다. git rm -r --cached . git add . git commit -m "fixed untracked files" # 참고한 스택 오버플로우

image