팀스파르타 내일배움캠프

[스파르타 유니티_10기 1일차] TIL 강의 요약 – Git 협업 특강 (2025.04.07)

creator2041 2025. 4. 7. 16:15

1. Git이란?

  • Git은 **버전 관리 시스템(VCS, Version Control System)**이다.
  • 파일이나 소스코드의 변경 이력을 커밋 단위로 관리할 수 있으며, 개발 중인 프로젝트의 과거 상태로 되돌릴 수 있는 기능을 제공한다.
  • 특히 협업 상황에서 다음과 같은 이유로 필수적이다:
    • 팀원 간의 변경 사항을 명확하게 추적 및 병합 가능
    • 기능별 브랜치를 만들어 동시다발적인 개발 작업 분리 가능
    • 누가, 언제, 어떤 이유로 어떤 파일을 수정했는지 기록됨

2. Git 설치 및 도움말

  • 공식 홈페이지에서 Git 설치 가능
  • 설치 후 명령어 확인은 아래와 같이 가능:
git --help

→ 기본 명령어와 사용법 확인 가능


3. Git vs GitHub 차이

  • Git: 로컬에서 버전 관리를 위한 도구 (코드 상태 저장소)
  • GitHub: Git으로 관리한 버전을 온라인 상에서 공유, 협업할 수 있게 해주는 플랫폼
  • 둘은 별개의 개념이지만, 함께 사용할 때 강력한 협업 툴이 됨

4. GitHub 기능 요약

✅ Repository (저장소)

  • 프로젝트 단위의 저장공간. 코드, 커밋 이력, 브랜치 등을 관리함
  • 생성 시 Public(공개) / Private(비공개) 옵션 선택 가능
    • 일반적으로 저작권, 금전, 사업 아이디어와 관련된 프로젝트는 Private 설정

✅ Add .gitignore

  • Unity 프로젝트처럼 자동 생성되는 대용량 폴더(Library, Temp 등)는 .gitignore에 명시
  • .gitignore는 업로드에서 제외할 파일/폴더를 지정해주는 장치
  • GitHub 생성 시 자동 설정 가능

✅ GitHub Desktop

  • CLI를 어려워하는 초보자에게 유용
  • Git의 대부분의 기능을 GUI 기반으로 클릭 & 드래그로 수행 가능
  • 협업 중 변경 사항 비교, 브랜치 관리 등을 쉽게 수행

5. CI/CD 개념 이해

  • CI (Continuous Integration): 코드를 자주 통합하고 자동 테스트하는 프로세스
  • CD (Continuous Delivery/Deployment): 코드를 자동으로 배포하는 프로세스
  • Git 커밋 메시지에 feat, fix, chore 등의 태그를 사용하면, 이를 인식하여 자동으로 버전을 올려주는 스크립트를 구성할 수 있음 (회사마다 설정 다름)
  • 대표 도구: GitHub Actions, Jenkins, GitLab CI 등

6. Commit Convention

  • 커밋 메시지 규칙을 의미
  • 일관된 메시지는 프로젝트 관리와 자동화에 도움이 됨
  • 기본 규칙은 다음과 같음:
    • feat: 기능 추가
    • fix: 버그 수정
    • docs: 문서 수정
    • refactor: 리팩토링 (기능 변경 없음)
    • test: 테스트 코드 관련
    • chore: 그 외 설정, 빌드, 환경파일 수정 등

✨ 구글에 "Conventional Commits"를 검색하면 더 많은 예시를 확인할 수 있음


7. GitHub 용량 제한

  • GitHub의 무료 저장소 기준
    • 단일 파일: 최대 2GB 제한
    • 리포 전체 용량: 약 5GB까지 안정적, 그 이상은 Git LFS 필요
    • 영상, 대용량 리소스는 클라우드 외부 업로드 권장

8. 실습 활동: 니케 카드 뒤집기 게임 개발(한 주 동안 개발할것)

  • 팀원과 함께 Unity 2D 프로젝트로 카드 뒤집기 게임을 제작
  • 이때 GitHub를 적극적으로 활용하여:
    • Git으로 프로젝트 버전 관리
    • 기능별 브랜치 생성 및 병합
    • pull/push를 통해 동기화 연습
  • 협업 기반 게임 개발 실습을 통해 실제 개발환경을 체험