브랜치는 독립된 작업 공간으로, 하나의 저장소 안에서 여러 기능 개발을 병렬로 진행할 수 있게 해줍니다.
flowchart LR
A[main 브랜치] --> B[feature/login]
A --> C[feature/ui]
B --> D[작업 후 commit]
C --> E[작업 후 commit]
# 브랜치 목록 보기
git branch
# 브랜치 생성
git branch feature/login
# 브랜치 이동
git checkout feature/login
# 생성 + 이동
git checkout -b feature/login
커밋은 작업 내용을 스냅샷으로 저장하는 단위입니다. 프로젝트의 변경 이력을 시간순으로 기록합니다.
flowchart LR
A[작업 파일 수정] --> B[git add] --> C[git commit] --> D[히스토리에 반영]
# 변경 파일 확인
git status
# 특정 파일 스테이징
git add index.js
# 전체 파일 스테이징
git add .
# 커밋 생성
git commit -m "feat: 로그인 기능 추가"
리모트는 원격 저장소(GitHub, GitLab 등)를 의미합니다. 로컬에서 작업한 내용을 서버에 공유하거나, 서버에서 가져올 수 있습니다.
flowchart LR
A[Local Repo] <--> B["Remote Repo (GitHub)"]
# 리모트 저장소 확인
git remote -v
# 리모트 저장소 추가
git remote add origin <https://github.com/user/repo.git>
# 원격 저장소로 푸시
git push origin main
# 원격 저장소에서 가져오기
git pull origin main