IT/Git
Git 19회차. Git 저장소 정리 및 리포지터리
밥알이
2025. 7. 20. 07:40
🧹 Git 19회차. Git 저장소 정리 및 리포지터리 마무리하기
프로젝트가 끝나도 Git 저장소는 그대로 두시나요? 사실, 마무리 작업이 진짜 Git 실력입니다! 이번 회차에서는 Git 저장소를 깔끔하게 정리하고 협업자에게도 보기 좋은 상태로 만드는 방법을 소개할게요 😊
📌 정리 전, 왜 저장소를 정리해야 할까?
- ✔️ 협업 종료 후 불필요한 브랜치가 난무
- ✔️ .gitignore 없이 쓸모없는 파일 추적 중
- ✔️ 히스토리가 너무 복잡해져 버전 파악이 어려움
📦 Git 저장소 정리는 곧 프로젝트의 정돈된 마무리입니다. 아래 단계를 따라 깔끔한 리포지터리를 완성해봐요!
1️⃣ 불필요한 브랜치 정리
📍 로컬 브랜치 목록 확인
git branch
📍 병합된 브랜치 정리
# main에 병합된 브랜치만 삭제
git branch --merged main
📍 브랜치 삭제
git branch -d feature/login
- ✔️
-d
: 병합된 브랜치만 삭제 - ✔️
-D
: 강제 삭제 (주의!)
📍 원격 브랜치 삭제
git push origin --delete feature/login
병합이 끝난 브랜치는 남겨둘 이유가 없어요! 보관용이라면 백업 태그를 걸어두면 충분합니다.
2️⃣ .gitignore 재정비
.gitignore
는 프로젝트의 불필요한 파일 추적을 방지해요.
✔️ 반드시 무시해야 할 항목 예시
- ✔️ IDE 설정:
.vscode/
,.idea/
- ✔️ 빌드 결과물:
dist/
,build/
- ✔️ 환경 설정:
.env
,*.log
# 예시 .gitignore
node_modules/
.env
*.log
dist/
.idea/
📍 이미 추적 중인 파일 .gitignore에 추가했을 때
git rm --cached -r node_modules/
이후 커밋 & 푸시로 반영 완료!
3️⃣ 릴리스용 태그 정리
프로젝트 버전을 명확하게 표시하려면 태그를 정리하는 것도 중요합니다.
git tag -a v1.0.0 -m "정식 릴리스"
git push origin v1.0.0
GitHub의 Release 탭과 연동하여 다운로드 가능 패키지처럼 관리해보세요 😊
4️⃣ 히스토리 정리: rebase 또는 squash 활용
📍 여러 개의 커밋을 하나로 합치기
git rebase -i HEAD~3
- ✔️ pick → squash로 변경 후 저장
- ✔️ 커밋 메시지를 하나로 정리
📍 머지할 때 squash merge 활용
git merge --squash feature/checkout
최종 결과만 깔끔하게 병합할 수 있어요.
5️⃣ README.md & CONTRIBUTING.md 정비
- ✔️ README에 최종 버전, 사용 방법, 설치 가이드 명시
- ✔️ 기여 가이드라인 정리 시, CONTRIBUTING.md 활용
- ✔️ 링크, 라이선스, 개발 환경 정보도 명확히!
이런 마무리 작업이 있어야 다음 개발자, 혹은 과거의 나도 저장소를 쉽게 이해할 수 있겠죠? 😉
📦 GitHub 저장소 최적화 팁
- ✔️ 이슈 / PR 정리: 불필요한 이슈 닫기, PR 라벨링
- ✔️ 디스크 용량 줄이기: 커밋 내 이미지 삭제, Git LFS 사용
- ✔️ 프로젝트 탭으로 작업 흐름 시각화
GitHub도 정리해두면 오픈소스처럼 관리하기 훨씬 좋아요 🙌
📌 오늘의 핵심 요약
- ✔️ 프로젝트 종료 후에는 반드시 저장소 정리가 필요해요
- ✔️ 불필요한 브랜치, 추적 파일, 중복 커밋을 정리해보세요
- ✔️ README와 태그를 잘 활용하면 저장소 가독성이 높아집니다
정돈된 Git 저장소는 실력자의 마무리 습관입니다! 오늘 배운 내용으로 여러분의 리포지터리를 새롭게 정비해보세요 ✨
📎 다음 회차 예고
20회차. Git 마스터를 위한 추가 학습 리소스 & 추천 코스
✔️ 고급 Git 명령어 ✔️ Git 내부 구조 학습 ✔️ 추천 학습서 & 온라인 강의