Git은 소스 코드를 버전별로 관리할 수 있게 해주는 분산형 버전 관리 시스템(DVCS)
배포 환경에서는 코드 변경 내역 추적, 롤백, 자동 배포(CI/CD) 등 핵심 역할을 담당
| Git | GitHub |
|---|---|
| 버전 관리 도구 | Git 저장소를 웹에서 호스팅 및 협업할 수 있게 도와주는 플랫폼 |
| 로컬에서 사용 | 온라인에서 코드 공유/리뷰/배포까지 가능 |
Git은 도구, GitHub는 협업 + 배포를 위한 플랫폼
| 명령어 | 설명 |
|---|---|
git init | 로컬 저장소 생성 |
git clone [URL] | 원격 저장소 복제 |
git status | 변경된 파일 상태 확인 |
git add [파일명] | 파일을 스테이징 영역에 추가 |
git commit -m "메시지" | 변경 내용을 저장소에 커밋 |
git push | 원격 저장소에 업로드 |
git pull | 원격 저장소에서 최신 코드 받기 |
기능별로 독립적인 작업 공간을 분리하기 위한 도구
예:main,feature/signup,hotfix/header-bug
git push)git checkout -b feature/기능명
# 코드 수정
git add .
git commit -m "feat: 기능 추가"
git push origin feature/기능명
# PR → main 브랜치에 merge → 자동 배포 트리거
| 상황 | 해결 방법 |
|---|---|
fatal: not a git repository | git init 또는 경로 확인 |
| 충돌 발생 | 충돌 파일 직접 수정 후 커밋 |
push 오류 (non-fast-forward) | git pull 후 병합 처리 |
.gitignore로 민감하거나 불필요한 파일은 제외하자feat:, fix: 등)rebase보다는 merge를 권장 (충돌 발생 시점 명확)