Day 4 - Git 고급·실무
rebase · stash · tag · 되돌리기 · 협업 규칙
목차
학습 목표
- merge와 rebase 차이 설명
- 임시 저장·릴리스 태그 사용
- 안전한 되돌리기 선택
rebase
git switch feature/login
git fetch origin
git rebase origin/main
# 충돌 해결 후
git add .
git rebase --continue
- 히스토리를 일렬로 정리
- 이미 push한 공용 브랜치에는 force push 주의 (
--force-with-lease)
stash
git stash push -m "wip: form"
git stash list
git stash pop
tag
git tag -a v1.0.0 -m "release 1.0.0"
git push origin v1.0.0
git tag -l
되돌리기
| 상황 | 명령 |
|---|---|
| 마지막 커밋 메시지 수정 (미push) | git commit --amend |
| 커밋 취소, 변경은 유지 | git reset --soft HEAD~1 |
| 커밋·스테이징 취소 (주의) | git reset --hard HEAD~1 |
| 이미 공유된 커밋 취소 | git revert <sha> |
팀 규칙 예시
main에 직접 push 금지 → PR만- 커밋 메시지:
feat|fix|docs|chore: 요약 - PR 전
mainrebase 또는 merge로 최신화 - 시크릿·
.env커밋 금지 (gitleaks 등)
이 저장소 문서 사이트 배포도 브랜치·PR 흐름과 함께 운영할 수 있습니다.